Commit 8bd5d96d authored by rtoy's avatar rtoy
Browse files

code/irrat-dd.lisp:

o Declare POLY-EVAL and POLY-EVAL-1 as maybe-inline functions so they
  can be semi-inlined.

code/irrat.lisp:
o I don't think there's any real reason to make the local function
  REAL-EXPT inline.  It's very big and local function call is already
  good enough.

compiler/float-tran.lisp:
o Change some functions to be maybe-inline instead of inline to save
  on space for the the larger double-double functions:  SUB-DD,
  SUB-D-DD, SUB-DD-D, SPLIT.  Semi-inline should be good enough for
  these large functions, saving on cache memory, local function
  calling sequence should be good enough.
parent 8f0bd4e8
......@@ -5,7 +5,7 @@
;;; Carnegie Mellon University, and has been placed in the public domain.
;;;
(ext:file-comment
"$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/code/irrat-dd.lisp,v 1.17 2007/08/02 18:18:18 rtoy Exp $")
"$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/code/irrat-dd.lisp,v 1.18 2009/03/18 01:24:52 rtoy Rel $")
;;;
;;; **********************************************************************
;;;
......@@ -67,6 +67,7 @@
"Sqrt(1/2)")
;; Evaluate polynomial
(declaim (maybe-inline poly-eval poly-eval-1))
(defun poly-eval (x coef)
(declare (type double-double-float x)
(type (simple-array double-double-float (*)) coef)
......
......@@ -5,7 +5,7 @@
;;; Carnegie Mellon University, and has been placed in the public domain.
;;;
(ext:file-comment
"$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/code/irrat.lisp,v 1.58 2008/11/12 15:04:23 rtoy Exp $")
"$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/code/irrat.lisp,v 1.59 2009/03/18 01:24:52 rtoy Rel $")
;;;
;;; **********************************************************************
;;;
......@@ -486,7 +486,6 @@
(complex
(coerce (* pow (%cos y*pi)) rtype)
(coerce (* pow (%sin y*pi)) rtype)))))))))))))
(declare (inline real-expt))
;; This is really messy and should be cleaned up. The easiest
;; way to see if we're doing what we should is the macroexpand
;; the number-dispatch and check each branch.
......
......@@ -5,7 +5,7 @@
;;; Carnegie Mellon University, and has been placed in the public domain.
;;;
(ext:file-comment
"$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/float-tran.lisp,v 1.128 2008/12/30 16:23:36 rtoy Exp $")
"$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/float-tran.lisp,v 1.129 2009/03/18 01:24:53 rtoy Exp $")
;;;
;;; **********************************************************************
;;;
......@@ -1861,7 +1861,7 @@
(declare (optimize (inhibit-warnings 3)))
(values s e))))
(declaim (inline sub-dd))
(declaim (maybe-inline sub-dd))
(defun sub-dd (a0 a1 b0 b1)
"Subtract the double-double B0,B1 from A0,A1"
(declare (double-float a0 a1 b0 b1)
......@@ -1886,7 +1886,7 @@
0d0)
(values r1 r2)))))))
(declaim (inline sub-d-dd))
(declaim (maybe-inline sub-d-dd))
(defun sub-d-dd (a b0 b1)
"Compute double-double = double - double-double"
(declare (double-float a b0 b1)
......@@ -1904,7 +1904,7 @@
(values (float-sign (- a b0) 0d0) 0d0)
(values r1 r2)))))
(declaim (inline sub-dd-d))
(declaim (maybe-inline sub-dd-d))
(defun sub-dd-d (a0 a1 b)
"Subtract the double B from the double-double A0,A1"
(declare (double-float a0 a1 b)
......@@ -1946,7 +1946,7 @@
(truly-the ,(type-specifier (node-derived-type node))
(kernel:%make-double-double-float hi lo))))
(declaim (inline split))
(declaim (maybe-inline split))
;; This algorithm is the version given by Yozo Hida. It has problems
;; with overflow because we multiply by 1+2^27.
;;
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment