% this is a 64-bit only projectpredicates
flip_pos:(unsigned)-> unsigned.
clauses
flip_pos(IndexIn)=IndexOut:-BB_Index= bit::toBigEndian64(1<<0+IndexIn),% Build 904 - 1 << 32 works, Build 906 1 << 32 = 0%BB_Index = bit::toBigEndian64(hasDomain(unsigned64,1) << 0+IndexIn), % Build 906 - 1 << 32 worksIndexOut= bit_board::ls1b(BB_Index). % Diagnostics fail here, can't call ls1b with a value of zero.
This works fine in build 904, but returns zero 0 on build 906. Now I have to explicitly set the domain to a 64 bit opperation, because this code works until a bitshift 1 << 32 is encountered. It is like the default domain in a 64-bit app, is now 32 bit? If I uncomment the line that is commented, this particular predicate will work, but I have this kind of bitwise code all over the place, and I gave up trying to all the affected locations, so I rolled back to 904 for now.
If you need a Beta tester for the next release to test 64-bit operations, the move generator in my chess program NADYA2.0, accurately calculates moves on a start chess board to depth 7. About 3.2B nodes. The calculations are all made using 64-bit (bit-wise) math operations.
Thank you for your offer, but we don't use external beta testers.
We have a large teste suite for the compiler, pfc, etc. And on top of that we have a number of large/huge professional programs, with test suites, testers, customers, etc. And they are all "beta" tests/testers for our system.