Skip to content

Commit

Permalink
tweak function argument names for better documentation
Browse files Browse the repository at this point in the history
  • Loading branch information
froydnj committed Feb 10, 2011
1 parent df06573 commit 6caf614
Showing 1 changed file with 68 additions and 68 deletions.
136 changes: 68 additions & 68 deletions vectors.lisp
Expand Up @@ -65,11 +65,11 @@ BIG-ENDIAN-P. The form returns VALUE-NAME."
(macrolet ((define-fetcher (bitsize signedp big-endian-p)
(let ((ref-name (byte-ref-fun-name bitsize signedp big-endian-p))
(bytes (truncate bitsize 8)))
`(defun ,ref-name (buffer index)
(declare (type octet-vector buffer))
`(defun ,ref-name (vector index)
(declare (type octet-vector vector))
(declare (type (integer 0 ,(- array-dimension-limit bytes)) index))
(multiple-value-bind (vector start end)
(array-data-and-offsets buffer index (+ index ,bytes))
(array-data-and-offsets vector index (+ index ,bytes))
#+sbcl (declare (optimize (sb-c::insert-array-bounds-checks 0)))
(declare (type (integer 0 ,(- array-dimension-limit bytes)) start))
(declare (ignore end))
Expand All @@ -79,14 +79,14 @@ BIG-ENDIAN-P. The form returns VALUE-NAME."
(set-name (byte-set-fun-name bitsize signedp big-endian-p))
(bytes (truncate bitsize 8)))
`(progn
(defun ,set-name (buffer index value)
(declare (type octet-vector buffer))
(defun ,set-name (vector index value)
(declare (type octet-vector vector))
(declare (type (integer 0 ,(- array-dimension-limit bytes)) index))
(declare (type (,(if signedp
'signed-byte
'unsigned-byte) ,bitsize) value))
(multiple-value-bind (vector start end)
(array-data-and-offsets buffer index (+ index ,bytes))
(array-data-and-offsets vector index (+ index ,bytes))
#+sbcl (declare (optimize (sb-c::insert-array-bounds-checks 0)))
(declare (type (integer 0 ,(- array-dimension-limit bytes)) start))
(declare (ignore end))
Expand All @@ -106,19 +106,19 @@ BIG-ENDIAN-P. The form returns VALUE-NAME."
(defun not-supported ()
(error "not supported"))

(defun ieee-single-ref/be (buffer index)
(declare (ignorable buffer index))
(defun ieee-single-ref/be (vector index)
(declare (ignorable vector index))
#+sbcl
(sb-kernel:make-single-float (sb32ref/be buffer index))
(sb-kernel:make-single-float (sb32ref/be vector index))
#+cmu
(kernel:make-single-float (sb32ref/be buffer index))
(kernel:make-single-float (sb32ref/be vector index))
#+ccl
(ccl::host-single-float-from-unsigned-byte-32 (ub32ref/be buffer index))
(ccl::host-single-float-from-unsigned-byte-32 (ub32ref/be vector index))
#+allegro
(let ((b (ub32ref/be buffer index)))
(let ((b (ub32ref/be vector index)))
(excl:shorts-to-single-float (ldb (byte 16 16) b) (ldb (byte 16 0) b)))
#+lispworks
(let* ((ub (ub32ref/be buffer index))
(let* ((ub (ub32ref/be vector index))
(v (sys:make-typed-aref-vector 4)))
(declare (optimize (speed 3) (float 0) (safety 0)))
(declare (dynamic-extent v))
Expand All @@ -127,48 +127,48 @@ BIG-ENDIAN-P. The form returns VALUE-NAME."
#-(or sbcl cmu ccl allegro lispworks)
(not-supported))

(defun (setf ieee-single-ref/be) (value buffer index)
(declare (ignorable value buffer index))
(defun (setf ieee-single-ref/be) (value vector index)
(declare (ignorable value vector index))
#+sbcl
(progn
(setf (sb32ref/be buffer index) (sb-kernel:single-float-bits value))
(setf (sb32ref/be vector index) (sb-kernel:single-float-bits value))
value)
#+cmu
(progn
(setf (sb32ref/be buffer index) (kernel:single-float-bits value))
(setf (sb32ref/be vector index) (kernel:single-float-bits value))
value)
#+ccl
(progn
(setf (ub32ref/be buffer index) (ccl::single-float-bits value))
(setf (ub32ref/be vector index) (ccl::single-float-bits value))
value)
#+allegro
(multiple-value-bind (hi lo) (excl:single-float-to-shorts value)
(setf (ub16ref/be buffer index) hi
(ub16ref/be buffer (+ index 2) lo))
(setf (ub16ref/be vector index) hi
(ub16ref/be vector (+ index 2) lo))
value)
#+lispworks
(let* ((v (sys:make-typed-aref-vector 4)))
(declare (optimize (speed 3) (float 0) (safety 0)))
(declare (dynamic-extent v))
(setf (sys:typed-aref 'single-float v 0) value)
(setf (ub32ref/be buffer index) (sys:typed-aref '(unsigned-byte 32) v 0))
(setf (ub32ref/be vector index) (sys:typed-aref '(unsigned-byte 32) v 0))
value)
#-(or sbcl cmu ccl allegro lispworks)
(not-supported))

(defun ieee-single-ref/le (buffer index)
(declare (ignorable buffer index))
(defun ieee-single-ref/le (vector index)
(declare (ignorable vector index))
#+sbcl
(sb-kernel:make-single-float (sb32ref/le buffer index))
(sb-kernel:make-single-float (sb32ref/le vector index))
#+cmu
(kernel:make-single-float (sb32ref/le buffer index))
(kernel:make-single-float (sb32ref/le vector index))
#+ccl
(ccl::host-single-float-from-unsigned-byte-32 (ub32ref/le buffer index))
(ccl::host-single-float-from-unsigned-byte-32 (ub32ref/le vector index))
#+allegro
(let ((b (ub32ref/le buffer index)))
(let ((b (ub32ref/le vector index)))
(excl:shorts-to-single-float (ldb (byte 16 16) b) (ldb (byte 16 0) b)))
#+lispworks
(let* ((ub (ub32ref/le buffer index))
(let* ((ub (ub32ref/le vector index))
(v (sys:make-typed-aref-vector 4)))
(declare (optimize (speed 3) (float 0) (safety 0)))
(declare (dynamic-extent v))
Expand All @@ -177,105 +177,105 @@ BIG-ENDIAN-P. The form returns VALUE-NAME."
#-(or sbcl cmu ccl allegro lispworks)
(not-supported))

(defun (setf ieee-single-ref/le) (value buffer index)
(declare (ignorable value buffer index))
(defun (setf ieee-single-ref/le) (value vector index)
(declare (ignorable value vector index))
#+sbcl
(progn
(setf (sb32ref/le buffer index) (sb-kernel:single-float-bits value))
(setf (sb32ref/le vector index) (sb-kernel:single-float-bits value))
value)
#+cmu
(progn
(setf (sb32ref/le buffer index) (kernel:single-float-bits value))
(setf (sb32ref/le vector index) (kernel:single-float-bits value))
value)
#+ccl
(progn
(setf (ub32ref/le buffer index) (ccl::single-float-bits value))
(setf (ub32ref/le vector index) (ccl::single-float-bits value))
value)
#+allegro
(multiple-value-bind (hi lo) (excl:single-float-to-shorts value)
(setf (ub16ref/le buffer (+ index 2)) hi
(ub16ref/le buffer index lo))
(setf (ub16ref/le vector (+ index 2)) hi
(ub16ref/le vector index lo))
value)
#+lispworks
(let* ((v (sys:make-typed-aref-vector 4)))
(declare (optimize (speed 3) (float 0) (safety 0)))
(declare (dynamic-extent v))
(setf (sys:typed-aref 'single-float v 0) value)
(setf (ub32ref/le buffer index) (sys:typed-aref '(unsigned-byte 32) v 0))
(setf (ub32ref/le vector index) (sys:typed-aref '(unsigned-byte 32) v 0))
value)
#-(or sbcl cmu ccl allegro lispworks)
(not-supported))

(defun ieee-double-ref/be (buffer index)
(declare (ignorable buffer index))
(defun ieee-double-ref/be (vector index)
(declare (ignorable vector index))
#+sbcl
(let ((upper (sb32ref/be buffer index))
(lower (ub32ref/be buffer (+ index 4))))
(let ((upper (sb32ref/be vector index))
(lower (ub32ref/be vector (+ index 4))))
(sb-kernel:make-double-float upper lower))
#+cmu
(let ((upper (sb32ref/be buffer index))
(lower (ub32ref/be buffer (+ index 4))))
(let ((upper (sb32ref/be vector index))
(lower (ub32ref/be vector (+ index 4))))
(kernel:make-double-float upper lower))
#+ccl
(let ((upper (ub32ref/be buffer index))
(lower (ub32ref/be buffer (+ index 4))))
(let ((upper (ub32ref/be vector index))
(lower (ub32ref/be vector (+ index 4))))
(ccl::make-double-float-from-bits upper lower))
#-(or sbcl cmu ccl)
(not-supported))

(defun (setf ieee-double-ref/be) (value buffer index)
(declare (ignorable value buffer index))
(defun (setf ieee-double-ref/be) (value vector index)
(declare (ignorable value vector index))
#+sbcl
(progn
(setf (sb32ref/be buffer index) (sb-kernel:double-float-high-bits value)
(ub32ref/be buffer (+ index 4)) (sb-kernel:double-float-low-bits value))
(setf (sb32ref/be vector index) (sb-kernel:double-float-high-bits value)
(ub32ref/be vector (+ index 4)) (sb-kernel:double-float-low-bits value))
value)
#+cmu
(progn
(setf (sb32ref/be buffer index) (kernel:double-float-high-bits value)
(ub32ref/be buffer (+ index 4)) (kernel:double-float-low-bits value))
(setf (sb32ref/be vector index) (kernel:double-float-high-bits value)
(ub32ref/be vector (+ index 4)) (kernel:double-float-low-bits value))
value)
#+ccl
(multiple-value-bind (upper lower) (ccl::double-float-bits value)
(setf (ub32ref/be buffer index) upper
(ub32ref/be buffer (+ index 4)) lower)
(setf (ub32ref/be vector index) upper
(ub32ref/be vector (+ index 4)) lower)
value)
#-(or sbcl cmu ccl)
(not-supported))

(defun ieee-double-ref/le (buffer index)
(declare (ignorable buffer index))
(defun ieee-double-ref/le (vector index)
(declare (ignorable vector index))
#+sbcl
(let ((upper (sb32ref/le buffer (+ index 4)))
(lower (ub32ref/le buffer index)))
(let ((upper (sb32ref/le vector (+ index 4)))
(lower (ub32ref/le vector index)))
(sb-kernel:make-double-float upper lower))
#+cmu
(let ((upper (sb32ref/le buffer (+ index 4)))
(lower (ub32ref/le buffer index)))
(let ((upper (sb32ref/le vector (+ index 4)))
(lower (ub32ref/le vector index)))
(kernel:make-double-float upper lower))
#+ccl
(let ((upper (ub32ref/le buffer (+ index 4)))
(lower (ub32ref/le buffer index)))
(let ((upper (ub32ref/le vector (+ index 4)))
(lower (ub32ref/le vector index)))
(ccl::make-double-float-from-bits upper lower))
#-(or sbcl cmu ccl)
(not-supported))

(defun (setf ieee-double-ref/le) (value buffer index)
(declare (ignorable value buffer index))
(defun (setf ieee-double-ref/le) (value vector index)
(declare (ignorable value vector index))
#+sbcl
(progn
(setf (sb32ref/le buffer (+ index 4)) (sb-kernel:double-float-high-bits value)
(ub32ref/le buffer index) (sb-kernel:double-float-low-bits value))
(setf (sb32ref/le vector (+ index 4)) (sb-kernel:double-float-high-bits value)
(ub32ref/le vector index) (sb-kernel:double-float-low-bits value))
value)
#+cmu
(progn
(setf (sb32ref/le buffer (+ index 4)) (kernel:double-float-high-bits value)
(ub32ref/le buffer index) (kernel:double-float-low-bits value))
(setf (sb32ref/le vector (+ index 4)) (kernel:double-float-high-bits value)
(ub32ref/le vector index) (kernel:double-float-low-bits value))
value)
#+ccl
(multiple-value-bind (upper lower) (ccl::double-float-bits value)
(setf (ub32ref/le buffer (+ index 4)) upper
(ub32ref/le buffer index) lower)
(setf (ub32ref/le vector (+ index 4)) upper
(ub32ref/le vector index) lower)
value)
#-(or sbcl cmu ccl)
(not-supported))

0 comments on commit 6caf614

Please sign in to comment.