From 9d2f0526a942f42d0f1ddfd2bb68360e36d7c227 Mon Sep 17 00:00:00 2001 From: Taylor R Campbell Date: Sat, 1 Dec 2018 15:32:48 +0000 Subject: [PATCH] Teach the compiler about more boolean and function primitives. --- src/compiler/base/utils.scm | 49 +++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) diff --git a/src/compiler/base/utils.scm b/src/compiler/base/utils.scm index 4b0358bf1..57e8f2679 100644 --- a/src/compiler/base/utils.scm +++ b/src/compiler/base/utils.scm @@ -295,7 +295,22 @@ USA. (ucode-primitive fixnum?) (ucode-primitive flonum-equal?) (ucode-primitive flonum-greater?) + (ucode-primitive flonum-integer?) + (ucode-primitive flonum-is-equal?) + (ucode-primitive flonum-is-finite?) + (ucode-primitive flonum-is-greater-or-equal?) + (ucode-primitive flonum-is-greater?) + (ucode-primitive flonum-is-infinite?) + (ucode-primitive flonum-is-less-or-equal?) + (ucode-primitive flonum-is-less-or-greater?) + (ucode-primitive flonum-is-less?) + (ucode-primitive flonum-is-nan?) + (ucode-primitive flonum-is-negative?) + (ucode-primitive flonum-is-normal?) + (ucode-primitive flonum-is-unordered?) + (ucode-primitive flonum-is-zero?) (ucode-primitive flonum-less?) + (ucode-primitive flonum-nan-quiet?) (ucode-primitive flonum-negative?) (ucode-primitive flonum-positive?) (ucode-primitive flonum-zero?) @@ -359,33 +374,67 @@ USA. (ucode-primitive fixnum-and) (ucode-primitive fixnum-andc) (ucode-primitive fixnum-lsh) + (ucode-primitive fixnum-negate) (ucode-primitive fixnum-not) (ucode-primitive fixnum-or) (ucode-primitive fixnum-quotient) (ucode-primitive fixnum-remainder) (ucode-primitive fixnum-xor) + (ucode-primitive fixnum->flonum) (ucode-primitive floating-vector-length) (ucode-primitive floating-vector-ref) (ucode-primitive flonum-abs) (ucode-primitive flonum-acos) + (ucode-primitive flonum-acosh) (ucode-primitive flonum-add) (ucode-primitive flonum-asin) + (ucode-primitive flonum-asinh) (ucode-primitive flonum-atan) (ucode-primitive flonum-atan2) + (ucode-primitive flonum-atanh) + (ucode-primitive flonum-cbrt) (ucode-primitive flonum-ceiling) + (ucode-primitive flonum-ceiling->exact) + (ucode-primitive flonum-copysign) (ucode-primitive flonum-cos) + (ucode-primitive flonum-cosh) + (ucode-primitive flonum-denormalize) (ucode-primitive flonum-divide) + (ucode-primitive flonum-erf) + (ucode-primitive flonum-erfc) (ucode-primitive flonum-exp) + (ucode-primitive flonum-expm1) + (ucode-primitive flonum-expt) (ucode-primitive flonum-floor) + (ucode-primitive flonum-floor->exact) + (ucode-primitive flonum-gamma) + (ucode-primitive flonum-hypot) + (ucode-primitive flonum-j0) + (ucode-primitive flonum-j1) + (ucode-primitive flonum-jn) + (ucode-primitive flonum-lgamma) (ucode-primitive flonum-log) + (ucode-primitive flonum-log1p) + (ucode-primitive flonum-make-nan) + (ucode-primitive flonum-modulo) (ucode-primitive flonum-multiply) + (ucode-primitive flonum-nan-payload) (ucode-primitive flonum-negate) + (ucode-primitive flonum-nextafter) + (ucode-primitive flonum-normalize) (ucode-primitive flonum-round) + (ucode-primitive flonum-round->exact) (ucode-primitive flonum-sin) + (ucode-primitive flonum-sinh) (ucode-primitive flonum-sqrt) (ucode-primitive flonum-subtract) (ucode-primitive flonum-tan) + (ucode-primitive flonum-tanh) (ucode-primitive flonum-truncate) + (ucode-primitive flonum-truncate->exact) + (ucode-primitive flonum-y0) + (ucode-primitive flonum-y1) + (ucode-primitive flonum-yn) (ucode-primitive gcd-fixnum) (ucode-primitive integer->char) (ucode-primitive integer-add) -- 2.25.1