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