42 / +-(|x| > 1) ** -inf is +0
43 / +-(|x| < 1) ** +inf is +0
44 / +-(|x| < 1) ** -inf is +inf
45 / (-1) ** +-inf is +1 (C99)
46 / +0 ** +y (except 0, NaN) is +0
47 / -0 ** +y (except 0, NaN, odd int) is +0
48 / -0 ** +y (odd int) is -0
49 / +-0 ** -y (except 0, NaN) _SVID_libm_err
50 / +inf ** +y (except 0, NaN) is +inf
51 / +inf ** -y (except 0, NaN) is +0
52 / -inf ** +-y (except 0, NaN) is -0 ** -+y (NO z flag)
53 / x ** -1 is 1/x
54 / x ** 2 is x*x
55 / -x ** y (an integer) is (-1)**(y) * (+x)**(y)
56 / x ** y (x negative & y not integer) _SVID_libm_err
57 / if x and y are finite and x**y = 0 _SVID_libm_err (underflow)
58 / if x and y are finite and x**y = inf _SVID_libm_err (overflow)
59
60 #include "libm.h"
61 LIBM_ANSI_PRAGMA_WEAK(pow,function)
62 #include "libm_synonyms.h"
63 #include "libm_protos.h"
64 #include "xpg6.h"
65
66 #undef fabs
67
68 .data
69 .align 4
70 negzero:
71 .float -0.0
72 one:
73 .float 1.0
74 negone:
75 .float -1.0
76 two:
77 .float 2.0
78 Snan:
79 .long 0x7f800001
80 pinfinity:
81 .long 0x7f800000
82 ninfinity:
83 .long 0xff800000
84
85
86 ENTRY(pow)
87 pushl %ebp
|
42 / +-(|x| > 1) ** -inf is +0
43 / +-(|x| < 1) ** +inf is +0
44 / +-(|x| < 1) ** -inf is +inf
45 / (-1) ** +-inf is +1 (C99)
46 / +0 ** +y (except 0, NaN) is +0
47 / -0 ** +y (except 0, NaN, odd int) is +0
48 / -0 ** +y (odd int) is -0
49 / +-0 ** -y (except 0, NaN) _SVID_libm_err
50 / +inf ** +y (except 0, NaN) is +inf
51 / +inf ** -y (except 0, NaN) is +0
52 / -inf ** +-y (except 0, NaN) is -0 ** -+y (NO z flag)
53 / x ** -1 is 1/x
54 / x ** 2 is x*x
55 / -x ** y (an integer) is (-1)**(y) * (+x)**(y)
56 / x ** y (x negative & y not integer) _SVID_libm_err
57 / if x and y are finite and x**y = 0 _SVID_libm_err (underflow)
58 / if x and y are finite and x**y = inf _SVID_libm_err (overflow)
59
60 #include "libm.h"
61 LIBM_ANSI_PRAGMA_WEAK(pow,function)
62 #include "libm_protos.h"
63 #include "xpg6.h"
64
65 .data
66 .align 4
67 negzero:
68 .float -0.0
69 one:
70 .float 1.0
71 negone:
72 .float -1.0
73 two:
74 .float 2.0
75 Snan:
76 .long 0x7f800001
77 pinfinity:
78 .long 0x7f800000
79 ninfinity:
80 .long 0xff800000
81
82
83 ENTRY(pow)
84 pushl %ebp
|