1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142
|
commit 075c866e86a2d37a80b08276cf3fa86263d83739
Author: Moshe Piekarski <wordplay@melachim.net>
Date: Tue Apr 23 14:01:01 2019 -0500
increase cap on candidate word list size
commit c344cc6cd313e3e3a1ad6150b43c4fe8a45b57e7
Author: Clayton Smith <argilo@gmail.com>
Date: Thu Jan 10 13:36:44 2019 -0600
Corrected an error about a close of a file discriptor
commit a6348fc812a63f3579f3ebfd179e64bb98472c1a
Author: Moshe Piekarski <wordplay@melachim.net>
Date: Tue Apr 16 14:09:43 2019 -0500
Option for showing input string in list of anagrams.
Added a flag without which wordplay removes the input string from the list of possible anagrams.
commit d2c5deeb57e8c2a202e997baa9c6bcbadd7fc148
Author: Innocent De Marchi <tangram.peces@gmail.com>
Date: Sun Dec 24 13:08:10 2017 -0600
Prevent non-alphabetic characters from getting processed
commit 1b58220e35a054a4865fb971371e9f4196ce68c6
Author: David William Richmond Jones <dwrj87@gmail.com>
Date: Thu Nov 3 17:44:02 2016 -0500
Remove hardcoded compiler
Remove the hardcoded compiler from makefile
so other compilers can be used and cflags can be passed.
commit 0d362f2a26021599d65904b9465e566a09ea92b0
Author: Logan Rosen <logan@ubuntu.com>
Date: Thu Nov 3 17:20:17 2016 -0500
Include stdlib.h
There are implicit function declarations in wordplay.c.
These "might hide issues the compiler could otherwise
warn about or cause bad code," so they should probably
be patched.
Evans A Criswell
03-20-96 Fixed a small memory allocation problem. In a couple of places,
the amount allocated to hold character strings was not taking the
space to store the null into account. This bug has only affected
a couple of people.
09-11-95 In the anagramr7 function, I check the product of the maximum
"levels deep" remaining and the length of the longest candidate
word. If this product is less than the length of the string
passed in, a "dead end" condition exists. This makes the program
run significantly faster for longer strings if the maximum
depth option is used.
08-21-94 Added "wordfile from stdin" option using "-f -"
Fixed "4" bug. Digits in a string disqualify the string.
Vowel-check override option added.
Starting word ("w" option) checked to see if it's an anagram
of the initial string.
08-16-94 Used integer masks representing which letters appear in each
word, allowing extraction checking to be checked quickly for
failure in the anagramr7 routine. Result: the program has
been 4 to 5 times faster.
08-14-94 Made the program much more memory efficient. Instead of calling
malloc for each word in the candidate word list and in the key
list, a contiguous block of memory was allocated to hold the
words. The block is realloc'ed if it needs to be increased as
the words are read in. After the words are packed into the
block, the pointers are allocated and are pointed to the
appropriate places (beginnings of words) in the block, so the
rest of the program works with no modification. Two gigantic
arrays that weren't being used were eliminated. The word length
index arrays are now made to be the size of the longest word
instead of MAX_WORDS. In fact, MAX_WORDS is now obsolete.
07-14-94 Added "silent" option.
06-03-94 Added "#include <ctypes.h>" so it would work on BSD/386 . Thanks
to mcintyre@io.com (James Michael Stewart) for reporting the bug.
05-26-94 Fixed command-line parsing bug.
05-25-94 Eliminated redundant permutations. Added option to specify a
word to appear in anagrams. Added maximum depth option (number
of words, maximum, to appear in an anagram).
05-24-94 Added option so user could specify whether to allow anagrams
with adjacent duplicate words like "A A" or "DOG DOG".
05-16-94 Made a second copy of the word list and sorted each word's
letters alphabetically and sorted this list of keys alphabetically.
Modified the recursive algorithm to use the new index. (Ver 6.00)
05-16-94 Another little bug fix. Someone found that, on their machine,
if there are no candidate words loaded for the string being
anagrammed, it causes an error when malloc gets passed a zero
value for the amount to allocate.
05-13-94 Tiny bug fix. Just a small bug that never actually caused a
crash, but very well could have if it had wanted to. :-)
04-25-94 Speed increase. If exts indicates extraction was impossible,
continue (try next word) instead of executing rest of loop body.
04-21-91 Ron Gregory found a simple bug that has been in all the C
versions (4.00 through 5.20). In the one-word anagram
section, a less than should have been a less than or equal to.
A simple fencepost error. The recursive anagram procedure had
a similar problem. A severe error was fixed in the version
5.20 read routine which caused the program not to read the
wordfile correctly if the entries were lowercase.
04-17-94 Since this program, since it was ported to C, is command-line
based, and only anagrams one string, it is not necessary to
store the wordlist internally. Unnecessary words are weeded
out as the list is being read, using the "extract" routine.
I can't believe I didn't think of using that routine for that
purpose sooner. That means pass1 and pass2 are obsolete.
04-14-94 Changed the "extract" function to use pointers instead of
array notation. Under some compilers, this may nearly double
the execution speed of the recursive anagram procedure. On
other compilers, it may make no difference at all.
04-11-94 Added the minimum and maximum candidate word length options
that were available in version 3.00 when the program was
interactive. This helps to narrow down the word list and
eliminate a lot of short words when anagramming long strings.
11-30-93 Fixed a bug that Versions 5.00 and 5.01 had. If there were
no words in the candidate word list with the same length as
the string passed to anagramr, the string passed to anagramr
would not be anagrammed, causing many possible anagrams to
be missed.
11-08-93 Eliminated anagrams consisting of the same word occurring
multiple times in a row, such "IS IS ...", since interesting
anagrams rarely contain such repetitions. (Version 5.01)
11-08-93 Debug print statements commented and output cleaned up.
Version 5.00 completed. It is currently not known which is
always faster: the old iterative 2 and 3 word anagram options
or the recursive algorithm. All the options from version 4.00
are still in the program.
11-07-93 Recursive algorithm working!
11-03-93 Added code to index the candidate word list by number of vowels
per word. (Beginning of 5.00 Alpha) Never used in Version 5.00,
but the code is there for future use.
05-25-93 Three word anagramming capability ported and added.
04-30-93 The big port from FORTRAN 77 to ANSI C. No longer interactive.
Instead, arguments are taken from the command line.
(Everything working except three-word anagrams and all command
line options not yet implemented)
|