% $Id: FloatPredicatesTest.oz,v 1.2 2007/10/23 02:04:45 leavens Exp leavens $ \insert 'TestingNoStop.oz' \insert 'FloatPredicates.oz' {StartTesting 'FloatPredicates'} declare Relative6 = {RelativeMaker 1.0e~6} Close = {WithinMaker 1.0e~3} {StartTesting 'RelativelyEqual'} {Test {Relative6 1.0 3.0} '==' false} {Test {Relative6 1.0 1.0001} '==' false} {Test {Relative6 1.0 1.00001} '==' false} {Test {Relative6 1.0 1.000001} '==' true} {Test {Relative6 1.0 1.0000001} '==' true} {Test {Relative6 1.0e~20 1.0000001e~20} '==' true} {Test {Relative6 1.0e20 1.0000001e20} '==' true} {StartTesting 'TolerablyEqual'} {Test {Close 1.0 3.0} '==' false} {Test {Close 1.0 1.01} '==' false} {Test {Close 1.0 1.001} '==' true} {Test {Close 1.0 1.0011} '==' false} {Test {Close 1.0 1.0009} '==' true} {Test {Close 1.0 1.0001} '==' true} {Test {Close 1.0 1.00001} '==' true} {Test {Close 1.0e~20 1.1e~20} '==' true} {Test {Close 1.0e20 1.0000001e20} '==' false} {StartTesting 'ApproxEqual'} {Test {ApproxEqual 1.0 3.0} '==' false} {Test {ApproxEqual 1.0 1.01} '==' false} {Test {ApproxEqual 1.0 1.001} '==' true} {Test {ApproxEqual 1.0 1.0001} '==' true} {Test {ApproxEqual 1.0 1.00001} '==' true} {Test {ApproxEqual 1.0e~20 1.1e~20} '==' false} {Test {ApproxEqual 1.0e20 1.0000001e20} '==' true}