Amit, I created our GADDAG format back in 2005, but Matt Liberty made some changes a few months ago. His code is much clearer than mine was, and it is a great improvement, but the format is not documented. Honestly I haven't looked at it much because I haven't had a need to. So thank you for your description of the format which might be of use to other tinkerers (who we hugely encourage). I am curious as to what your little program does, and if you'd like to send it to me, I could try to get it to work.
John On 3/15/07, Amit Chakrabarti <[EMAIL PROTECTED]> wrote:
OK, my mistake. I had written: > AFAICT, looking in the declarations in "gaddag.h", and hex dumping the > file "twl06.gaddag", the deal seems to be: > 1. The file is a string of "nodes", each of which is a 4-byte sequence. > 2. Each node has the following structure: > 2.1. Three most significant bytes: offset to first child node, in > 4-byte units: i.e., if these three bytes together have the vaule > "2017", then the first child is 2017 nodes after this one. > 2.2. Least significant byte: > 2.2.1. Bit 7: not used > 2.2.2. Bit 6: if set, next node is right sibling of this one The above line should be: 2.2.2. Bit 6: if clear, next node is right sibling of this one > 2.2.3. Bit 5: if set, this node is terminal > 2.2.4. Bits 4,3,2,1,0: letter at this node (0 = A, 1 = B, etc.) The rest is okay. Quackle team: if you want to put some version of the above text into the documentation, feel free. -AC
