|
15 | 15 | (define-representation <bool> #:cost boolean-move-cost) |
16 | 16 |
|
17 | 17 | (define-operations () <bool> |
18 | | - [TRUE #:spec (TRUE) #:impl (const true) #:cost boolean-move-cost] |
19 | | - [FALSE #:spec (FALSE) #:impl (const false) #:cost boolean-move-cost]) |
| 18 | + [TRUE #:spec (TRUE) #:impl (const true) #:fpcore TRUE #:cost boolean-move-cost] |
| 19 | + [FALSE #:spec (FALSE) #:impl (const false) #:fpcore FALSE #:cost boolean-move-cost]) |
20 | 20 |
|
21 | 21 | (define-operations ([x <bool>] [y <bool>]) <bool> |
22 | 22 | [and #:spec (and x y) #:impl (lambda v (andmap values v)) #:cost boolean-move-cost] |
|
39 | 39 |
|
40 | 40 | (parameterize ([fpcore-context '(:precision binary32)]) |
41 | 41 | (define-operations () <binary32> |
42 | | - [PI.f32 #:spec (PI) #:impl (const (flsingle pi)) #:cost 32bit-move-cost] |
43 | | - [E.f32 #:spec (E) #:impl (const (flsingle (exp 1))) #:cost 32bit-move-cost] |
44 | | - [INFINITY.f32 #:spec (INFINITY) #:impl (const +inf.0) #:cost 32bit-move-cost] |
45 | | - [NAN.f32 #:spec (NAN) #:impl (const +nan.0) #:cost 32bit-move-cost]) |
| 42 | + [PI.f32 #:spec (PI) #:impl (const (flsingle pi)) #:fpcore PI #:cost 32bit-move-cost] |
| 43 | + [E.f32 #:spec (E) #:impl (const (flsingle (exp 1))) #:fpcore E #:cost 32bit-move-cost] |
| 44 | + [INFINITY.f32 #:spec (INFINITY) #:impl (const +inf.0) #:fpcore INFINITY #:cost 32bit-move-cost] |
| 45 | + [NAN.f32 #:spec (NAN) #:impl (const +nan.0) #:fpcore NAN #:cost 32bit-move-cost]) |
46 | 46 |
|
47 | 47 | (define-operation (neg.f32 [x <binary32>]) <binary32> |
48 | 48 | #:spec (neg x) #:impl (compose flsingle -) #:fpcore (- x) #:cost 0.125) |
|
65 | 65 | [asinh.f32 #:spec (asinh x) #:impl (from-libm 'asinhf) #:cost 1.125] |
66 | 66 | [atan.f32 #:spec (atan x) #:impl (from-libm 'atanf) #:cost 1.100] |
67 | 67 | [atanh.f32 #:spec (atanh x) #:impl (from-libm 'atanhf) #:cost 0.500] |
68 | | - [cbrt.f32 #:spec (cbrt x) #:impl (from-libm 'cbrtf) #:cost 2.00] |
| 68 | + [cbrt.f32 #:spec (cbrt x) #:impl (from-libm 'cbrtf) #:cost 2.000] |
69 | 69 | [ceil.f32 #:spec (ceil x) #:impl (from-libm 'ceilf) #:cost 0.250] |
70 | 70 | [erf.f32 #:spec (erf x) #:impl (from-libm 'erff) #:cost 1.125] |
71 | 71 | [exp.f32 #:spec (exp x) #:impl (from-libm 'expf) #:cost 1.375] |
|
110 | 110 |
|
111 | 111 | (parameterize ([fpcore-context '(:precision binary64)]) |
112 | 112 | (define-operations () <binary64> |
113 | | - [PI.f64 #:spec (PI) #:impl (const pi) #:cost 64bit-move-cost] |
114 | | - [E.f64 #:spec (E) #:impl (const (exp 1)) #:cost 64bit-move-cost] |
115 | | - [INFINITY #:spec (INFINITY) #:impl (const +inf.0) #:cost 64bit-move-cost] |
116 | | - [NAN.f64 #:spec (NAN) #:impl (const +nan.0) #:cost 64bit-move-cost]) |
| 113 | + [PI.f64 #:spec (PI) #:impl (const pi) #:fpcore PI #:cost 64bit-move-cost] |
| 114 | + [E.f64 #:spec (E) #:impl (const (exp 1)) #:fpcore E #:cost 64bit-move-cost] |
| 115 | + [INFINITY #:spec (INFINITY) #:impl (const +inf.0) #:fpcore INFINITY #:cost 64bit-move-cost] |
| 116 | + [NAN.f64 #:spec (NAN) #:impl (const +nan.0) #:fpcore NAN #:cost 64bit-move-cost]) |
117 | 117 |
|
118 | 118 | (define-operation (neg.f64 [x <binary64>]) <binary64> |
119 | 119 | #:spec (neg x) #:impl - #:fpcore (- x) #:cost 0.125) |
|
0 commit comments