\insert 'StreamIterate.oz' \insert 'Next.oz' \insert 'FloatTest.oz' {StartTesting 'StreamIterate...'} {WithinTest {List.take {StreamIterate {Next 1.0} 1.0} 7} '~=~' [1.0 1.0 1.0 1.0 1.0 1.0 1.0]} {WithinTest {List.take {StreamIterate {Next 9.0} 1.0} 7} '~=~' [1.0 5.0 3.4 3.0235 3.0001 3.0 3.0]} {WithinTest {List.take {StreamIterate {Next 200.0} 1.0} 7} '~=~' [1.0 100.5 51.245 27.574 17.414 14.449 14.145]} {RelativeTest {List.take {StreamIterate {Next 0.144} 7.0} 9} '~=~' [7.0 3.5103 1.7757 0.92838 0.54174 0.40378 0.3802 0.37947 0.37947]} {RelativeTest {List.take {StreamIterate fun {$ X} X*X end 2.0} 9} '~=~' [2.0 4.0 16.0 256.0 65536.0 4.295e009 1.8447e019 3.4028e038 1.1579e077]} {RelativeTest {List.take {StreamIterate fun {$ X} X/3.0 end 10.0} 8} '~=~' [10.0 3.3333 1.1111 0.37037 0.12346 0.041152 0.013717 0.0045725]}