* Out-of-line versions for %SIN, %COS, and %TAN.
documentation on package locks for details.
* enhancement: EVAL can process IF-expressions without resorting to the
compiler.
+ * bug fix: Some operations involving SIN, COS, or TAN weren't being
+ constant-folded properly due to missing out-of-line functions.
+ (reported by Mika Pihlajamäki)
* bug fix: LISTEN sometimes returned T even in cases where no data was
immediately available from the stream
* fixed bug: types of the last two arguments to SET-SYNTAX-FROM-CHAR
`(defun ,name ,ll (,name ,@ll))))
(def %atan2 (x y))
(def %atan (x))
+ (def %tan (x))
(def %tan-quick (x))
+ (def %cos (x))
(def %cos-quick (x))
+ (def %sin (x))
(def %sin-quick (x))
(def %sqrt (x))
(def %log (x))
#c(1.0d0 2.0d0))
'double-float))
+;;; More out of line functions (%COS, %SIN, %TAN) for constant folding,
+;;; reported by Mika Pihlajamäki
+(funcall (compile nil '(lambda () (cos (tan (round 0))))))
+(funcall (compile nil '(lambda () (sin (tan (round 0))))))
+(funcall (compile nil '(lambda () (tan (tan (round 0))))))
+
(with-test (:name (:addition-overflow :bug-372)
:fails-on '(or :ppc :darwin :mips :freebsd))
(assert (typep (nth-value
;;; checkins which aren't released. (And occasionally for internal
;;; versions, especially for internal versions off the main CVS
;;; branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".)
-"0.9.11.39"
+"0.9.11.40"