jm-int.stderr.exp jm-int.stdout.exp jm-int.vgtest \
jm-fp.stderr.exp jm-fp.stdout.exp jm-fp.vgtest \
jm-vmx.stderr.exp jm-vmx.stdout.exp jm-vmx.vgtest \
+ test_fx.stderr.exp test_fx.stdout.exp test_fx.vgtest \
+ test_gx.stderr.exp test_gx.stdout.exp test_gx.vgtest \
testVMX.stderr.exp testVMX.stdout.exp testVMX.vgtest
check_PROGRAMS = \
- lsw jm-insns testVMX
+ lsw jm-insns test_fx test_gx testVMX
AM_CFLAGS = $(WERROR) -Winline -Wall -Wshadow -g -I$(top_srcdir)/include \
@FLAG_M32@
--- /dev/null
+
+fsqrt 0.000000e+00 -> 0.00000000000000e+00
+fsqrt inf -> inf
+fsqrt -inf -> nan
+fsqrt nan -> nan
+fsqrt nan -> nan
+fsqrt -5.000000e+100 -> nan
+fsqrt -5.000000e+20 -> nan
+fsqrt -5.010000e+02 -> nan
+fsqrt -6.000000e+00 -> nan
+fsqrt -1.000000e+00 -> nan
+fsqrt -2.000000e-20 -> nan
+fsqrt -2.000000e-200 -> nan
+fsqrt 2.000000e-200 -> 1.41421356237310e-100
+fsqrt 2.000000e-20 -> 1.41421356237310e-10
+fsqrt 1.000000e+00 -> 1.00000000000000e+00
+fsqrt 6.000000e+00 -> 2.44948974278318e+00
+fsqrt 5.010000e+02 -> 2.23830292855994e+01
+fsqrt 5.000000e+20 -> 2.23606797749979e+10
+fsqrt 5.000000e+100 -> 2.23606797749979e+50
+
+fsqrts 0.000000e+00 -> 0.000000e+00
+fsqrts inf -> inf
+fsqrts -inf -> nan
+fsqrts nan -> nan
+fsqrts nan -> nan
+fsqrts -5.000000e+100 -> nan
+fsqrts -5.000000e+20 -> nan
+fsqrts -5.010000e+02 -> nan
+fsqrts -6.000000e+00 -> nan
+fsqrts -1.000000e+00 -> nan
+fsqrts -2.000000e-20 -> nan
+fsqrts -2.000000e-200 -> nan
+fsqrts 2.000000e-200 -> 1.414214e-100
+fsqrts 2.000000e-20 -> 1.414214e-10
+fsqrts 1.000000e+00 -> 1.000000e+00
+fsqrts 6.000000e+00 -> 2.449490e+00
+fsqrts 5.010000e+02 -> 2.238303e+01
+fsqrts 5.000000e+20 -> 2.236068e+10
+fsqrts 5.000000e+100 -> 2.236068e+50
--- /dev/null
+prog: test_fx
args[6] = -5e20;
args[7] = -501.0;
args[8] = -6.0;
- args[9] = -1.0;
+ args[9] = -1.01;
args[10] = -2e-20;
args[11] = -2e-200;
args[12] = 2e-200;
args[13] = 2e-20;
- args[14] = 1.0;
+ args[14] = 1.01;
args[15] = 6.0;
args[16] = 501.0;
args[17] = 5e20;
args[18] = 5e100;
- do_one( "fre", do_fre, args, nargs, "%e", "%e");
- do_one( "fres", do_fres, args, nargs, "%e", "%e");
+ do_one( "fre", do_fre, args, nargs, "%e", "%4.1e");
+ do_one( "fres", do_fres, args, nargs, "%e", "%4.1e");
- do_one( "frsqrte", do_frsqrte, args, nargs, "%e", "%e");
- do_one( "frsqrtes", do_frsqrtes, args, nargs, "%e", "%e");
+ do_one( "frsqrte", do_frsqrte, args, nargs, "%e", "%4.1e");
+ do_one( "frsqrtes", do_frsqrtes, args, nargs, "%e", "%4.1e");
free(args);
return 0;
--- /dev/null
+
+fre 0.000000e+00 -> inf
+fre inf -> 0.0e+00
+fre -inf -> -0.0e+00
+fre nan -> nan
+fre nan -> nan
+fre -5.000000e+100 -> -2.0e-101
+fre -5.000000e+20 -> -2.0e-21
+fre -5.010000e+02 -> -2.0e-03
+fre -6.000000e+00 -> -1.7e-01
+fre -1.010000e+00 -> -9.9e-01
+fre -2.000000e-20 -> -5.0e+19
+fre -2.000000e-200 -> -5.0e+199
+fre 2.000000e-200 -> 5.0e+199
+fre 2.000000e-20 -> 5.0e+19
+fre 1.010000e+00 -> 9.9e-01
+fre 6.000000e+00 -> 1.7e-01
+fre 5.010000e+02 -> 2.0e-03
+fre 5.000000e+20 -> 2.0e-21
+fre 5.000000e+100 -> 2.0e-101
+
+fres 0.000000e+00 -> inf
+fres inf -> 0.0e+00
+fres -inf -> -0.0e+00
+fres nan -> nan
+fres nan -> nan
+fres -5.000000e+100 -> -0.0e+00
+fres -5.000000e+20 -> -2.0e-21
+fres -5.010000e+02 -> -2.0e-03
+fres -6.000000e+00 -> -1.7e-01
+fres -1.010000e+00 -> -9.9e-01
+fres -2.000000e-20 -> -5.0e+19
+fres -2.000000e-200 -> -inf
+fres 2.000000e-200 -> inf
+fres 2.000000e-20 -> 5.0e+19
+fres 1.010000e+00 -> 9.9e-01
+fres 6.000000e+00 -> 1.7e-01
+fres 5.010000e+02 -> 2.0e-03
+fres 5.000000e+20 -> 2.0e-21
+fres 5.000000e+100 -> 0.0e+00
+
+frsqrte 0.000000e+00 -> inf
+frsqrte inf -> 0.0e+00
+frsqrte -inf -> nan
+frsqrte nan -> nan
+frsqrte nan -> nan
+frsqrte -5.000000e+100 -> nan
+frsqrte -5.000000e+20 -> nan
+frsqrte -5.010000e+02 -> nan
+frsqrte -6.000000e+00 -> nan
+frsqrte -1.010000e+00 -> nan
+frsqrte -2.000000e-20 -> nan
+frsqrte -2.000000e-200 -> nan
+frsqrte 2.000000e-200 -> 7.0e+99
+frsqrte 2.000000e-20 -> 7.1e+09
+frsqrte 1.010000e+00 -> 9.7e-01
+frsqrte 6.000000e+00 -> 4.0e-01
+frsqrte 5.010000e+02 -> 4.5e-02
+frsqrte 5.000000e+20 -> 4.5e-11
+frsqrte 5.000000e+100 -> 4.4e-51
+
+frsqrtes 0.000000e+00 -> inf
+frsqrtes inf -> 0.0e+00
+frsqrtes -inf -> nan
+frsqrtes nan -> nan
+frsqrtes nan -> nan
+frsqrtes -5.000000e+100 -> nan
+frsqrtes -5.000000e+20 -> nan
+frsqrtes -5.010000e+02 -> nan
+frsqrtes -6.000000e+00 -> nan
+frsqrtes -1.010000e+00 -> nan
+frsqrtes -2.000000e-20 -> nan
+frsqrtes -2.000000e-200 -> nan
+frsqrtes 2.000000e-200 -> 7.0e+99
+frsqrtes 2.000000e-20 -> 7.1e+09
+frsqrtes 1.010000e+00 -> 9.7e-01
+frsqrtes 6.000000e+00 -> 4.0e-01
+frsqrtes 5.010000e+02 -> 4.5e-02
+frsqrtes 5.000000e+20 -> 4.5e-11
+frsqrtes 5.000000e+100 -> 4.4e-51
--- /dev/null
+prog: test_gx