From 938ae6d6978e47d292164c3475fa091e18301e9d Mon Sep 17 00:00:00 2001 From: Liam Healy <liam@thinkpad.local> Date: Mon, 25 May 2009 12:51:08 -0400 Subject: [PATCH] Generic function #'size replaces #'total-size for marrays Use #'size instead of #'total-size for marrays. --- data/both.lisp | 4 ++-- data/marray.lisp | 13 +++++----- polynomial.lisp | 6 ++--- sorting.lisp | 20 ++++++++-------- special-functions/return-structures.lisp | 4 ++-- statistics/mean-variance.lisp | 30 ++++++++++++------------ 6 files changed, 39 insertions(+), 38 deletions(-) diff --git a/data/both.lisp b/data/both.lisp index 9bfbfac0..8eee4270 100644 --- a/data/both.lisp +++ b/data/both.lisp @@ -1,6 +1,6 @@ ;; Functions for both vectors and matrices. ;; Liam Healy 2008-04-26 20:48:44EDT both.lisp -;; Time-stamp: <2009-05-03 11:24:50EDT both.lisp> +;; Time-stamp: <2009-05-25 12:42:22EDT both.lisp> ;; $Id$ (in-package :gsl) @@ -13,7 +13,7 @@ ("gsl_" :category :type "_alloc_from_block") ((blockptr :pointer) (0 sizet) ; offset - ((total-size object) sizet) ; number of elements + ((size object) sizet) ; number of elements (1 sizet)) ; stride :definition :generic :c-return :pointer diff --git a/data/marray.lisp b/data/marray.lisp index c4987a34..5f6e30b8 100644 --- a/data/marray.lisp +++ b/data/marray.lisp @@ -1,6 +1,6 @@ ;; A "marray" is an array in both GSL and CL ;; Liam Healy 2008-04-06 21:23:41EDT -;; Time-stamp: <2009-03-20 17:20:00EDT marray.lisp> +;; Time-stamp: <2009-05-25 12:42:21EDT marray.lisp> ;; $Id$ (in-package :gsl) @@ -10,7 +10,8 @@ ;;;;**************************************************************************** (defclass marray (mobject foreign-array) - ((block-pointer :initarg :block-pointer :reader block-pointer)) + ((block-pointer :initarg :block-pointer :reader block-pointer) + (total-size :reader size)) (:documentation "A superclass for arrays represented in GSL and CL.")) @@ -33,7 +34,7 @@ (unless (and (slot-boundp object 'mpointer) (mpointer object)) (let ((blockptr (cffi:foreign-alloc 'gsl-block-c))) (setf (cffi:foreign-slot-value blockptr 'gsl-block-c 'size) - (total-size object) + (size object) (slot-value object 'block-pointer) blockptr) (let ((array-struct (alloc-from-block object blockptr))) @@ -77,7 +78,7 @@ ',(loop for elt across (subseq (original-array object) (offset object) - (+ (offset object) (total-size object))) + (+ (offset object) (size object))) collect elt))) ;;;;**************************************************************************** @@ -168,8 +169,8 @@ (defun component-size (object) (if (subtypep (element-type object) 'complex) ;; complex: make array twice as long - (* 2 (total-size object)) - (total-size object))) + (* 2 (size object)) + (size object))) ;;;;**************************************************************************** ;;;; Copy to and from bare mpointers diff --git a/polynomial.lisp b/polynomial.lisp index c4e4d5af..8cd963ef 100644 --- a/polynomial.lisp +++ b/polynomial.lisp @@ -1,6 +1,6 @@ ;; Polynomials ;; Liam Healy, Tue Mar 21 2006 - 18:33 -;; Time-stamp: <2009-05-03 09:37:35EDT polynomial.lisp> +;; Time-stamp: <2009-05-25 12:42:18EDT polynomial.lisp> ;; $Id$ (in-package :gsl) @@ -159,8 +159,8 @@ (coefficients &optional (answer (make-marray '(complex double-float) - :dimensions (1- (total-size coefficients)))) - (workspace (make-polynomial-complex-workspace (total-size coefficients)))) + :dimensions (1- (size coefficients)))) + (workspace (make-polynomial-complex-workspace (size coefficients)))) "gsl_poly_complex_solve" (((c-pointer coefficients) :pointer) ((dim0 coefficients) sizet) ((mpointer workspace) :pointer) ((c-pointer answer) :pointer)) diff --git a/sorting.lisp b/sorting.lisp index 476168d3..92fdb827 100644 --- a/sorting.lisp +++ b/sorting.lisp @@ -1,6 +1,6 @@ ;; Sorting ;; Liam Healy, Fri Apr 14 2006 - 20:20 -;; Time-stamp: <2008-12-27 11:36:24EST sorting.lisp> +;; Time-stamp: <2009-05-25 12:42:20EDT sorting.lisp> ;; $Id$ (in-package :gsl) @@ -60,7 +60,7 @@ (defmfun msort ((v both)) ("gsl_sort" :type) - (((c-pointer v) :pointer) (1 sizet) ((total-size v) sizet)) + (((c-pointer v) :pointer) (1 sizet) ((size v) sizet)) :definition :generic :element-types :no-complex :c-return :void @@ -136,10 +136,10 @@ (defmfun sort-smallest (dest (v both)) ("gsl_sort" :type "_smallest") - (((c-pointer dest) :pointer) ((total-size dest) sizet) + (((c-pointer dest) :pointer) ((size dest) sizet) ((c-pointer v) :pointer) (1 sizet) ; stride, set to 1 for now - ((total-size v) sizet)) + ((size v) sizet)) :definition :generic :element-types :no-complex :c-return :void @@ -151,7 +151,7 @@ (defmfun sort-vector-smallest-index (combination (v vector)) ("gsl_sort_vector" :type "_smallest_index") - (((c-pointer combination) :pointer) ((total-size combination) sizet) + (((c-pointer combination) :pointer) ((size combination) sizet) ((mpointer v) :pointer) (1 sizet) ; stride, set to 1 for now ((first (dimensions combination)) sizet)) @@ -169,7 +169,7 @@ (defmfun sort-smallest-index (combination (v vector)) ("gsl_sort" :type "_smallest_index") - (((c-pointer combination) :pointer) ((total-size combination) sizet) + (((c-pointer combination) :pointer) ((size combination) sizet) ((c-pointer v) :pointer) (1 sizet) ; stride, set to 1 for now ((first (dimensions combination)) sizet)) @@ -200,10 +200,10 @@ (defmfun sort-largest (dest (v both)) ("gsl_sort" :type "_largest") - (((c-pointer dest) :pointer) ((total-size dest) sizet) + (((c-pointer dest) :pointer) ((size dest) sizet) ((c-pointer v) :pointer) (1 sizet) ; stride, set to 1 for now - ((total-size v) sizet)) + ((size v) sizet)) :definition :generic :element-types :no-complex :c-return :void @@ -215,7 +215,7 @@ (defmfun sort-vector-largest-index (combination (v vector)) ("gsl_sort_vector" :type "_largest_index") - (((c-pointer combination) :pointer) ((total-size combination) sizet) + (((c-pointer combination) :pointer) ((size combination) sizet) ((mpointer v) :pointer) (1 sizet) ; stride, set to 1 for now ((first (dimensions combination)) sizet)) @@ -233,7 +233,7 @@ (defmfun sort-largest-index (combination (v vector)) ("gsl_sort" :type "_largest_index") - (((c-pointer combination) :pointer) ((total-size combination) sizet) + (((c-pointer combination) :pointer) ((size combination) sizet) ((c-pointer v) :pointer) (1 sizet) ; stride, set to 1 for now ((first (dimensions combination)) sizet)) diff --git a/special-functions/return-structures.lisp b/special-functions/return-structures.lisp index d683e44a..4fff3835 100644 --- a/special-functions/return-structures.lisp +++ b/special-functions/return-structures.lisp @@ -1,6 +1,6 @@ ;; Structures returned by special functions. ;; Liam Healy, Mon Jan 1 2007 - 11:35 -;; Time-stamp: <2009-02-16 16:49:45EST return-structures.lisp> +;; Time-stamp: <2009-05-25 12:42:19EDT return-structures.lisp> ;; $Id$ (in-package :gsl) @@ -56,4 +56,4 @@ "Make or take a vector-double-float." (if (integerp size-or-array) size-or-array - (total-size size-or-array))) + (size size-or-array))) diff --git a/statistics/mean-variance.lisp b/statistics/mean-variance.lisp index 3e5db4d6..ce360944 100644 --- a/statistics/mean-variance.lisp +++ b/statistics/mean-variance.lisp @@ -1,6 +1,6 @@ ;; Mean, standard deviation, and variance ;; Liam Healy, Sat Dec 2 2006 - 22:15 -;; Time-stamp: <2008-12-26 12:21:30EST mean-variance.lisp> +;; Time-stamp: <2009-05-25 12:42:21EDT mean-variance.lisp> ;; $Id$ (in-package :gsl) @@ -14,7 +14,7 @@ (defmfun mean ((array both)) ("gsl_stats" :type "_mean") - (((c-pointer array) :pointer) (1 :int) ((total-size array) sizet)) + (((c-pointer array) :pointer) (1 :int) ((size array) sizet)) :definition :generic :element-types :no-complex :c-return :double @@ -28,7 +28,7 @@ ("gsl_stats" :type "_wmean") (((c-pointer weights) :pointer) (1 :int) ((c-pointer array) :pointer) (1 :int) - ((total-size array) sizet)) + ((size array) sizet)) :definition :generic :element-types :float :c-return :element-c-type @@ -45,9 +45,9 @@ (defmfun variance ((array both) &optional mean) (("gsl_stats" :type "_variance") ("gsl_stats" :type "_variance_m")) - ((((c-pointer array) :pointer) (1 :int) ((total-size array) sizet)) + ((((c-pointer array) :pointer) (1 :int) ((size array) sizet)) (((c-pointer array) :pointer) (1 :int) - ((total-size array) sizet) (mean :double))) + ((size array) sizet) (mean :double))) :definition :generic :element-types :no-complex :c-return :double @@ -69,10 +69,10 @@ ("gsl_stats" :type "_wvariance_m")) ((((c-pointer weights) :pointer) (1 :int) ((c-pointer array) :pointer) (1 :int) - ((total-size array) sizet)) + ((size array) sizet)) (((c-pointer weights) :pointer) (1 :int) ((c-pointer array) :pointer) (1 :int) - ((total-size array) sizet) (mean :double))) + ((size array) sizet) (mean :double))) :definition :generic :element-types :float :c-return :double @@ -93,9 +93,9 @@ (defmfun standard-deviation ((array both) &optional mean) (("gsl_stats" :type "_sd") ("gsl_stats" :type "_sd_m")) - ((((c-pointer array) :pointer) (1 :int) ((total-size array) sizet)) + ((((c-pointer array) :pointer) (1 :int) ((size array) sizet)) (((c-pointer array) :pointer) (1 :int) - ((total-size array) sizet) (mean :double))) + ((size array) sizet) (mean :double))) :definition :generic :element-types :no-complex :c-return :double @@ -110,10 +110,10 @@ ("gsl_stats" :type "_wsd_m")) ((((c-pointer weights) :pointer) (1 :int) ((c-pointer array) :pointer) (1 :int) - ((total-size array) sizet)) + ((size array) sizet)) (((c-pointer weights) :pointer) (1 :int) ((c-pointer array) :pointer) (1 :int) - ((total-size array) sizet) (mean :double))) + ((size array) sizet) (mean :double))) :definition :generic :element-types :float :c-return :double @@ -130,7 +130,7 @@ (defmfun variance-with-fixed-mean ((array both) mean) ("gsl_stats" :type "_variance_with_fixed_mean") (((c-pointer array) :pointer) (1 :int) - ((total-size array) sizet) (mean :double)) + ((size array) sizet) (mean :double)) :definition :generic :element-types :no-complex :c-return :double @@ -146,7 +146,7 @@ (defmfun standard-deviation-with-fixed-mean ((array both) mean) ("gsl_stats" :type "_sd_with_fixed_mean") (((c-pointer array) :pointer) (1 :int) - ((total-size array) sizet) (mean :double)) + ((size array) sizet) (mean :double)) :definition :generic :element-types :no-complex :c-return :double @@ -165,7 +165,7 @@ ("gsl_stats" :type "_wvariance_with_fixed_mean") (((c-pointer weights) :pointer) (1 :int) ((c-pointer array) :pointer) (1 :int) - ((total-size array) sizet) (mean :double)) + ((size array) sizet) (mean :double)) :definition :generic :element-types :float :c-return :double @@ -183,7 +183,7 @@ ("gsl_stats" :type "_wsd_with_fixed_mean") (((c-pointer weights) :pointer) (1 :int) ((c-pointer array) :pointer) (1 :int) - ((total-size array) sizet) (mean :double)) + ((size array) sizet) (mean :double)) :definition :generic :element-types :float :c-return :double -- GitLab