(flet ((split-float ()
(let ((whole-seconds (truly-the fixnum (%unary-truncate seconds))))
(values whole-seconds
- (truly-the fixnum
+ (truly-the (integer 0 #.(expt 10 9))
(%unary-truncate (* (- seconds (float whole-seconds))
(load-time-value 1s9 t))))))))
(declare (inline split-float))
(sleep 2)
(sleep 2))))
-;;; SLEEP should not cons
+;;; SLEEP should not cons except on 32-bit platforms when
+;;; (> (mod seconds 1) (* most-positive-fixnum 1e-9))
(with-test (:name (sleep :non-consing) :fails-on :win32)
(ctu:assert-no-consing (sleep 0.00001s0))
(locally (declare (notinline sleep))