Revision b2eb9a1d
Added by Leszek Koltunski 12 months ago
src/main/java/org/distorted/objectlib/tablebases/PruningTable.java | ||
---|---|---|
105 | 105 |
{ |
106 | 106 |
int bits = entryInBucket*mNumBits; |
107 | 107 |
int bytes = index + bits/8; |
108 |
int ret=0; |
|
109 | 108 |
|
110 | 109 |
switch(mNumBits) |
111 | 110 |
{ |
112 |
case 4: ret = (bits%8)!=0 ? (mData[bytes]&0xf) : ((mData[bytes]>>>4)&0xf); |
|
113 |
break; |
|
114 |
case 8: ret = (mData[bytes]&0xff); |
|
115 |
break; |
|
116 |
case 12: ret = (bits%8)!=0 ? (((mData[bytes]&0xf)<<8) + (mData[bytes+1]&0xff)) : (((mData[bytes]&0xff)<<4) + ((mData[bytes+1]>>>4)&0xf)); |
|
117 |
break; |
|
118 |
case 16: ret = ((mData[bytes]&0xff)<<8) + (mData[bytes+1]&0xff); |
|
119 |
break; |
|
120 |
case 20: if( (bits%8) !=0 ) ret = (((mData[bytes]&0x0f)<<16) + ((mData[bytes+1]&0xff)<<8) + ( mData[bytes+2] &0xff)); |
|
121 |
else ret = (((mData[bytes]&0xff)<<12) + ((mData[bytes+1]&0xff)<<4) + ((mData[bytes+2]>>>4)&0x0f)); |
|
122 |
break; |
|
123 |
case 24: ret = ((mData[bytes]&0xff)<<16) + ((mData[bytes+1]&0xff)<<8) + (mData[bytes+2]&0xff); |
|
124 |
break; |
|
111 |
case 4: return (bits%8)!=0 ? (mData[bytes]&0xf) : ((mData[bytes]>>>4)&0xf); |
|
112 |
case 8: return (mData[bytes]&0xff); |
|
113 |
case 12: return (bits%8)!=0 ? (((mData[bytes]&0xf)<<8) + (mData[bytes+1]&0xff)) : (((mData[bytes]&0xff)<<4) + ((mData[bytes+1]>>>4)&0xf)); |
|
114 |
case 16: return ((mData[bytes]&0xff)<<8) + (mData[bytes+1]&0xff); |
|
115 |
case 20: if( (bits%8) !=0 ) return (((mData[bytes]&0x0f)<<16) + ((mData[bytes+1]&0xff)<<8) + ( mData[bytes+2] &0xff)); |
|
116 |
else return (((mData[bytes]&0xff)<<12) + ((mData[bytes+1]&0xff)<<4) + ((mData[bytes+2]>>>4)&0x0f)); |
|
117 |
case 24: return ((mData[bytes]&0xff)<<16) + ((mData[bytes+1]&0xff)<<8) + (mData[bytes+2]&0xff); |
|
125 | 118 |
} |
126 | 119 |
|
127 |
return ret;
|
|
120 |
return 0;
|
|
128 | 121 |
} |
129 | 122 |
|
130 | 123 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
src/main/java/org/distorted/objectlib/tablebases/TablebasesPruning.java | ||
---|---|---|
471 | 471 |
int[][] jump2Moves = jumpToSolved(index,mLowestMid-1,-1,0); |
472 | 472 |
if( jump2Moves==null ) |
473 | 473 |
{ |
474 |
if( osi!=null ) osi.reportError("1 error jumping to Solved: "+index);
|
|
474 |
osi.reportError("1 error jumping to Solved: "+index); |
|
475 | 475 |
return null; |
476 | 476 |
} |
477 | 477 |
return concatenateMoves(null,null,null,jump2Moves); |
Also available in: Unified diff
minor