CLEAR ? 0=-0,BINTOC(0,1)=BINTOC(-0,1) ? 0=-0,BINTOC(0,2)=BINTOC(-0,2) ? 0=-0,BINTOC(0,4)=BINTOC(-0,4) ? 0.0=-0.0,BINTOC(0.0,8)=BINTOC(-0.0,8) ? ? '*****TEST2' * THEN ANY NEGATIVE VALUES COLLAPSED TO ZERO * MANTAIN THE SIGN MEMORY ! X=-344.000 Y=0 X=X*Y ? X=0,BINTOC(X,8)=BINTOC(0.0,8) ? ? '****TEST3' CREATE CURSOR test ( bb B) INDEX ON BINTOC(bb,8) TAG cTag ? 'INSERT A NEGATIVE NOT ZERO VALUE' INSERT INTO test VALUES (-344.0E0) ? 'FOUND' ? BB=-344.0E0,SEEK(BINTOC(-344.0E0,8)) ? 'ANNULS IT' REPLACE bb WITH bb*0 ? 'NOT FOUND' ? BB=0.0E0,SEEK(BINTOC(0.0E0,8)) ? 'TRY TO CLEAR PATH COMPUTATION MEMORY' REPLACE bb WITH 0.0E0 ? 'FAIL => VFP compare the value and not update the index ?' ? BB=0.0E0,SEEK(BINTOC(0.0E0,8)) ? 'INSERT A NEW POSITIVE VALUE' INSERT INTO test VALUES (344.0E0) ? 'FOUND' ? BB=344.0E0,SEEK(BINTOC(344.0E0,8)) ? 'ANNULS IT' REPLACE bb WITH bb*0 ? 'FOUND' ? BB=0.0E0,SEEK(BINTOC(0.0E0,8))