/*
 * Tests for decimal floats, basically copied from the decfp-core.lisp
 */

(kill(all),
 if not ?boundp('rounddecimalfloats) then load(decfp),
 sum:0
 );
0;

(for i: 1 thru 50 do sum:sum+decbfloat(9/10^i), is(sum < 1));
true;

is(sum+1/10^50=1.0L0);
true;

rationalize(1.0L-1)-1/10;
0;

/* The decfp code changes the value of bigfloatone (and possibly other 
such values) to decimal floats. Let's reset them. */
(reset(?bigfloat%pi,?bigfloat%e,?bfmhalf,?bfhalf,?bigfloatone,?bigfloatzero),0);
0$