Changeset 15685 for release/1.9/source/level1/l1numbers.lisp
 Timestamp:
 Feb 4, 2013, 6:52:19 PM (6 years ago)
 File:

 1 edited
Legend:
 Unmodified
 Added
 Removed

release/1.9/source/level1/l1numbers.lisp
r15650 r15685 734 734 temp)) 735 735 736 ;;; On current (early 2013) versions of x8664 Linux, 737 ;;; (#_atan2 mostpositivedoublefloat mostpositivedoublefloat) 738 ;;; returns the correct answer but generates an intermediate 739 ;;; invalidoperation exception. #_atan2[f] is documented to never 740 ;;; raise fp exceptions, so don't check for them. 736 741 (defun %doublefloatatan2! (x y result) 737 742 (declare (doublefloat x y result)) 738 (withstackdoublefloats ((temp)) 739 #+armtarget (%setfpscrstatus 0) 740 (%setfdoublefloat TEMP (#_atan2 x y)) 741 (%dfcheckexception2 'atan2 x y (%ffiexceptionstatus)) 742 (%setfdoublefloat result TEMP))) 743 (%setfdoublefloat result (#_atan2 x y))) 743 744 744 745 #+32bittarget 745 746 (defun %singlefloatatan2! (x y result) 746 747 (declare (singlefloat x y result)) 747 (target::withstackshortfloats ((temp)) 748 #+armtarget (%setfpscrstatus 0) 749 (%setfshortfloat TEMP (#_atan2f x y)) 750 (%sfcheckexception2 'atan2 x y (%ffiexceptionstatus)) 751 (%setfshortfloat result TEMP))) 748 (%setfshortfloat result (#_atan2f x y))) 752 749 753 750 #+64bittarget 754 751 (defun %singlefloatatan2 (x y) 755 752 (declare (singlefloat x y)) 756 (let* ((result (#_atan2f x y))) 757 (%sfcheckexception2 'atan2 x y (%ffiexceptionstatus)) 758 result)) 753 (#_atan2f x y)) 759 754 760 755 (defun %doublefloatexp! (n result)
Note: See TracChangeset
for help on using the changeset viewer.