>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)) >