) ; EVAL-WHEN
\f
+#!+x86 ;; for constant folding
+(macrolet ((def (name ll)
+ `(defun ,name ,ll (,name ,@ll))))
+ (def %atan2 (x y))
+ (def %atan (x))
+ (def %tan-quick (x))
+ (def %cos-quick (x))
+ (def %sin-quick (x))
+ (def %sqrt (x))
+ (def %log (x))
+ (def %exp (x)))
+
;;;; stubs for the Unix math library
;;;;
;;;; Many of these are unnecessary on the X86 because they're built
#!+sb-doc
"Return BASE raised to the POWER."
(if (zerop power)
- (1+ (* base power))
+ (let ((result (1+ (* base power))))
+ (if (and (floatp result) (float-nan-p result))
+ (float 1 result)
+ result))
(labels (;; determine if the double float is an integer.
;; 0 - not an integer
;; 1 - an odd int