fixed wrong words in En_words & bug in sorting in hashtest.c

This commit is contained in:
Edward Emelianov 2022-12-08 09:22:46 +03:00
parent 0079aa2551
commit 65c17d0ff1
2 changed files with 21 additions and 124 deletions

116
En_words
View File

@ -1181,7 +1181,6 @@ aftermarket
aftermath
aftermost
afternoon
afternoon's
afternoons
after-sale
aftersale
@ -1307,7 +1306,6 @@ agressive
agribusiness
agribusinesses
agric
agric.
agricultural
agriculturalist
agriculturally
@ -1472,7 +1470,6 @@ akc
akimbo
akin
al
al.
alabama
alabamian
alabaster
@ -1858,13 +1855,10 @@ alveolar
alveolus
always
aly
a.m
a.m.
am
ama
amah
amain
amalg.
amalgam
amalgamate
amalgamated
@ -2826,7 +2820,6 @@ appetizing
appetizingly
appian
appl
appl.
applaud
applauder
applauders
@ -2920,7 +2913,6 @@ approvement
approving
approvingly
approx
approx.
approximate
approximately
approximating
@ -3195,7 +3187,6 @@ armour
armoured
armpit
armrest
arm's
arms
armstrong
army
@ -3962,7 +3953,6 @@ avast
avatar
avaunt
ave
ave.
avenge
avenged
avenger
@ -6783,12 +6773,9 @@ churl
churlish
churn
chute
c.i.a.
cia
cicada
cider
c.i.f
c.i.f.
cif
cigar
cigarette
@ -6843,8 +6830,6 @@ circumvent
circumvention
circus
cirrhosis
c.i.s
c.i.s.
cis
cistern
citadel
@ -7070,7 +7055,6 @@ clutch
clutter
cnn
co
co.
coach
coachman
coacting
@ -7138,7 +7122,6 @@ coco
cocoa
coconut
cocoon
c.o.d.
cod
coddle
code
@ -7867,7 +7850,6 @@ conjuncture
conjurer
conk
conn
conn.
connate
connatural
connect
@ -8335,7 +8317,6 @@ coronet
coroutine
coroutining
corp
corp.
corporal
corporate
corporation
@ -8343,7 +8324,6 @@ corporative
corporeal
corporeality
corposant
corp.'s
corps
corpse
corpsman
@ -9884,7 +9864,6 @@ depriving
deprocedure
deproceduring
dept
dept.
depth
depth-first
deputation
@ -10857,11 +10836,8 @@ dj
dlimly
dmv
do
d.o.b
d.o.b.
dob
doc
doc.
docile
dock
docked
@ -10869,7 +10845,6 @@ docker
docket
docking
dockyard
docs.
doctor
doctoral
doctorate
@ -11059,7 +11034,6 @@ doze
dozen
dp
dpb
dr.
drab
drabness
drachma
@ -11203,7 +11177,6 @@ dry-dock
dryer
dryly
dryness
d.t.'s
dual
dual-head
dual-headed
@ -11361,7 +11334,6 @@ dysprosium
dystrophy
dysurea
ea
ea.
each
eager
eagerly
@ -11539,8 +11511,6 @@ effrontery
effulgent
effusion
effusive
e.g
e.g.
eg
egalitarian
egg
@ -11850,7 +11820,6 @@ encircle
encircled
encirclement
encl
encl.
enclave
enclose
enclosed
@ -12172,7 +12141,6 @@ equiprobable
equitable
equitably
equity
equiv.
equivalence
equivalent
equivalent-to
@ -12255,7 +12223,7 @@ espouse
espoused
espousing
espy
esq.
esq
esquire
essay
essayist
@ -12290,7 +12258,6 @@ estuary
et
eta
etc
etc.
etcetera
etch
etched
@ -13081,7 +13048,6 @@ feces
feckless
fecund
fed
fed.
federal
federalism
federalist
@ -13242,7 +13208,6 @@ fifty
fifty-fifty
fifty/fifty
fig
fig.
fight
fighter
fighter-bomber
@ -13250,7 +13215,6 @@ fighter-pilot
fighting
figment
figs
figs.
figurative
figuratively
figure
@ -13653,8 +13617,6 @@ fmt
foal
foam
foamy
f.o.b
f.o.b.
fob
focal
foci
@ -14131,7 +14093,6 @@ frying
frying-pan
fsb
ft
ft.
ftc
fuchsia
fuchsin
@ -14703,7 +14664,6 @@ glycerin
glycerine
glycogen
glycol
g.m.
gmt
gnarl
gnarled
@ -16168,9 +16128,7 @@ however
howitzer
howl
howsoever
h.p.
hq
hrs.
hub
hubbub
hubcap
@ -16420,8 +16378,6 @@ idol
idolator
idolize
idyllic
i.e
i.e.
ie
ier
if
@ -16474,7 +16430,6 @@ illumination
illusion
illusive
illusory
illust.
illustrate
illustrated
illustrating
@ -16733,7 +16688,6 @@ inauguration
inauspicious
inborn
inc
inc.
incalculable
incandescence
incandescent
@ -16849,7 +16803,6 @@ inconvenient
inconvertible
inconvincible
incoordination
incorpor.
incorporate
incorporated
incorporation
@ -16876,7 +16829,6 @@ incriminate
incriminated
incriminating
incriminatory
inc.'s
incubate
incubated
incubating
@ -17074,7 +17026,6 @@ influential
influenza
influx
info
info.
infological
inform
informal
@ -17918,7 +17869,6 @@ jowl
joy
joystick
jr
jr.
jubilant
jubilee
judaic
@ -18234,7 +18184,6 @@ labors
labour
labourite
labours
labs.
labware
labyrinth
labyrinthine
@ -19149,7 +19098,6 @@ loyal
loyalty
lozenge
ltd
ltd.
lubricant
lubricate
lubricated
@ -19531,7 +19479,6 @@ maple
mapped
mapping
mar
mar.
marabou
maraschino
marasmus
@ -19719,7 +19666,6 @@ mayonnaise
mayor
maze
mazurka
m.b.a.
mbo
mbp
mbyte
@ -20007,7 +19953,6 @@ mexico
mezzanine
mezzo-soprano
mfg
mfg.
mg
mgm
mgmt
@ -20373,7 +20318,6 @@ mockingbird
mock-up
mockup
mod
mod.
modal
modality
mode
@ -20712,16 +20656,12 @@ mozambique
mpg
mph
mr
mr.
mrs
mrs.
ms
ms.
msc
msdos
msds
mtn
mtn.
much
much-needed
mucilage
@ -21055,7 +20995,6 @@ nazi
nazism
nba
ndearment
n.e.
neal
neanderthal
near
@ -21315,7 +21254,6 @@ nixon
nizhniy
nlrb
no
no.
noah
noahcian
noahcic
@ -21662,9 +21600,6 @@ nuts
nutter
nutty
nuzzle
n.w.
n.y
n.y.
ny
nylon
nymph
@ -21823,7 +21758,6 @@ octopus
octree
ocular
oculist
o.d.
odd
oddest
oddity
@ -21921,8 +21855,6 @@ oilseed
oilspill
oily
ointment
o.k
o.k.
okapi
okay
oklahoma
@ -22597,7 +22529,6 @@ oxygenation
oy
oyster
oz
oz.
ozocerite
ozone
pa
@ -23988,7 +23919,6 @@ phasemeter
phaseout
phasic
phasing
ph.d
pheasant
phenol
phenomena
@ -24447,9 +24377,6 @@ pizzeria
pizzicato
pkg
pkwy
p.&l.
p.l.
p/l
placable
placard
placarder
@ -24678,7 +24605,6 @@ plowing
plowman
plowshare
ploy
p.&l.s.
pluck
pluckily
pluckiness
@ -24734,21 +24660,17 @@ pluvial
ply
plymouth
plywood
p.m
p.m.
pm
pneumatic
pneumatically
pneumatically-operated
pneumonia
pneumonitis
p.o.
poa
poach
poached
poacher
poaching
p.o.box
pochard
pock
pocked
@ -25253,7 +25175,6 @@ pouter
pouting
poverty
poverty-stricken
p.o.w.
pow
powder
powdered
@ -25936,7 +25857,6 @@ productive
productiveness
productivity
prof
prof.
profanation
profanatory
profane
@ -26440,7 +26360,6 @@ psychotically
psychotropic
psychrophyl
pt
pt.
ptarmigan
pterodactyl
ptolemaic
@ -27865,7 +27784,6 @@ refutable
refutation
refute
reg
reg.
regain
regal
regale
@ -28700,7 +28618,6 @@ rio
riot
rioter
riotous
r.i.p.
rip
ripcord
ripe
@ -28796,7 +28713,6 @@ rogers
roget
rogue
roguish
r.o.i.
roi
roil
role
@ -30114,7 +30030,6 @@ scythe
scythian
sdcl
sdr
s.e.
sea
seabed
seabird
@ -32681,7 +32596,6 @@ smut
smuts
smuttiness
smutty
s.n.
snack
snack-bar
snaffle
@ -33186,7 +33100,6 @@ soothingly
soothsayer
soothsaying
sooty
s.o.p
sop
soph
sophia
@ -33494,7 +33407,6 @@ spearmint
spearmints
speary
spec
spec.
special
specialist
speciality
@ -33899,7 +33811,6 @@ spotty
spousal
spouse
spout
spp.
sprain
sprained
spraining
@ -33984,7 +33895,6 @@ spy
spyglass
spying
sq
sq.
squab
squabble
squabbler
@ -34084,8 +33994,6 @@ ssgt
ssts
ssw
st
st.
st.-
stab
stabbed
stabbing
@ -34702,7 +34610,6 @@ stitch
stitched
stitchery
stitching
st.-john's-wort
stoa
stoat
stochastic
@ -34840,9 +34747,6 @@ stowaway
stowed
stower
stowing
st.peterburg
st.-petersburg
st.petersburg
str
strabismus
strabotomy
@ -36208,8 +36112,6 @@ suzerainty
svelte
sverige
svga
s.w
s.w.
swab
swaddle
swaddling
@ -36889,7 +36791,6 @@ teaspoon
teaspoonful
teat
tech
tech.
techie
technetium
technic
@ -37341,7 +37242,6 @@ theosophical
theosophically
theosophist
theosophy
ther.
therapeutic
therapeutical
therapeutically
@ -39212,7 +39112,6 @@ ubiquity
ucla
uconn
udder
u.f.o.
ufo
uganda
ugandan
@ -39287,7 +39186,6 @@ umlaut
umpire
umpteen
umpteenth
u.n.
unabashed
unabashedly
unabated
@ -40705,11 +40603,7 @@ ursa
ursine
urticaria
uruguay
u.s
u.s.
us
u.s.a
u.s.a.
usa
usability
usable
@ -40732,13 +40626,10 @@ user-friendly
username
users
uses
u.s.gal
usher
usherette
using
usm
u.s.-soviet
u.s.s.r
ussr
usual
usually
@ -40750,7 +40641,6 @@ usurpation
usurped
usurper
usury
u.s.w.s
utah
utensil
utensils
@ -40778,7 +40668,6 @@ uxorious
uxoriousness
uzbek
va
va.
vacancy
vacant
vacate
@ -41312,8 +41201,6 @@ vow
vowel
voxel
voyage
v.p
v.p.
vs
vtvm
vulcan
@ -41781,7 +41668,6 @@ webs
web-server
webster
wed
wed.
wedding
wedge
wedlock

View File

@ -15,28 +15,25 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
// RUN: gcc -lusefull_macros hashtest.c -o hashtest && time ./hashtest En_words
// check hashes for all words in given dictionary and show words with similar hashes
#include <stdio.h>
#include <string.h>
#include <usefull_macros.h>
#define ALLOCSZ (5000)
#define DJB2
//#if 0
#if defined DJB2
// djb2 http://www.cse.yorku.ca/~oz/hash.html
static uint32_t hash(const char *str){
uint32_t hash = 5381;
uint32_t c;
while((c = (uint32_t)*str++))
hash = ((hash << 5) + hash) + c;
// hash = hash * 19 + c;
//hash = hash * 31 + c;
//hash = hash * 33 + c;
return hash;
}
//#endif
#if 0
#elif defined SDBM
static uint32_t hash(const char *str){ // sdbm
uint32_t hash = 5381;
uint32_t c;
@ -44,6 +41,19 @@ static uint32_t hash(const char *str){ // sdbm
hash = c + (hash << 6) + (hash << 16) - hash;
return hash;
}
#elif defined JENKINS
uint32_t hash(const char *str){
uint32_t hash = 0, c;
while((c = (uint32_t)*str++)){
hash += c;
hash += (hash << 10);
hash ^= (hash >> 6);
}
hash += (hash << 3);
hash ^= (hash >> 11);
hash += (hash << 15);
return hash;
}
#endif
@ -53,8 +63,9 @@ typedef struct{
} strhash;
static int sorthashes(const void *a, const void *b){
strhash *h1 = (strhash*)a, *h2 = (strhash*)b;
return strcmp(h1->str, h2->str);
register uint32_t h1 = ((strhash*)a)->hash, h2 = ((strhash*)b)->hash;
if(h2 > h1) return h2 - h1;
else return -((h1 - h2));
}
int main(int argc, char **argv){