Note: In case it is not clear, in Wordle, you are only allowed to guess English words (non-words are not allowed) in order to try to find the answer.
This GB Wordle version uses what is known as a
bloom filter.
In short: If using bit fields, then to be perfectly accurate, every allowed guess is meant to be represented as a bit out of a (26^5)-bit bit field. However, 26^5 is way too much for the amount of memory a GB has. So instead, the bit field is reduced to 40000 bits (by a many-to-one operation), while introducing the possibility of false positive guesses.
You can see the
40000-bit bit field here in the source. The hash value, normally a 32-bit number, is modulo by 40000 and the resulting value recorded in the bit field.
(Note that it is possible to have more than one hash function for a bloom filter to reduce the number of false positives, but this implementation only uses one hash function,
called "djb2" in the source.)
So actually there are a lot of false positives; for this version, there are over 2 million allowed guesses out of the 11 million or so possible. I made a
Lua script to dump all allowed guesses (including false positives) (download the raw paste data; the preview is completely messed up) , which you can run in BizHawk to get the list if you want (it should take 1 or 2 minutes to run on a modern machine).
Just in case you want to play around with the false positive guesses for whatever reason. :)