Commit d10814a5 authored by Liam M. Healy's avatar Liam M. Healy
Browse files

Compute maximum order for Mathieu array functions correctly

The maximum order for Mathieu array functions is the sum of the
minimum order and the size, less 1.  The -1 was missing but is
necessary because the orders given are inclusive; without it, random
memory faults occur.
parent 43c2dff4
;; Mathieu functions
;; Liam Healy 2009-02-16 16:30:59EST mathieu.lisp
;; Time-stamp: <2010-07-07 14:24:56EDT mathieu.lisp>
;; Time-stamp: <2010-07-15 10:35:18EDT mathieu.lisp>
;;
;; Copyright 2009 Liam M. Healy
;; Copyright 2009, 2010 Liam M. Healy
;; Distributed under the terms of the GNU General Public License
;;
;; This program is free software: you can redistribute it and/or modify
......@@ -58,14 +58,14 @@
(make-mathieu (+ minimum-order (vdf-size size-or-array)) q))
&aux (size (vdf-size size-or-array)) (result-array (vdf size)))
"gsl_sf_mathieu_a_array"
((minimum-order :int) ((+ minimum-order size) :int) (q :double)
((minimum-order :int) ((+ minimum-order size -1) :int) (q :double)
((mpointer workspace) :pointer) ((foreign-pointer result-array) :pointer))
:gsl-version (1 9)
:outputs (result-array)
:return (result-array)
:documentation ; FDL
"Compute a series of Mathieu characteristic values a_n(q) for n from
minimum-order to minimum-order + size inclusive, where size
minimum-order to minimum-order + size - 1 inclusive, where size
is either the numerical value supplied in size-or-array, or the
the length of the vector supplied there.")
......@@ -77,14 +77,14 @@
(make-mathieu (+ minimum-order (vdf-size size-or-array)) q))
&aux (size (vdf-size size-or-array)) (result-array (vdf size)))
"gsl_sf_mathieu_b_array"
((minimum-order :int) ((+ minimum-order size) :int) (q :double)
((minimum-order :int) ((+ minimum-order size -1) :int) (q :double)
((mpointer workspace) :pointer) ((foreign-pointer result-array) :pointer))
:gsl-version (1 9)
:outputs (result-array)
:return (result-array)
:documentation ; FDL
"Compute a series of Mathieu characteristic values b_n(q) for n from
minimum-order to minimum-order + size inclusive, where size
minimum-order to minimum-order + size - 1 inclusive, where size
is either the numerical value supplied in size-or-array, or the
the length of the vector supplied there.")
......@@ -114,7 +114,7 @@
(make-mathieu (+ minimum-order (vdf-size size-or-array)) q))
&aux (size (vdf-size size-or-array)) (result-array (vdf size)))
"gsl_sf_mathieu_ce_array"
((minimum-order :int) ((+ minimum-order size) :int)
((minimum-order :int) ((+ minimum-order size -1) :int)
(q :double) (x :double)
((mpointer workspace) :pointer) ((foreign-pointer result-array) :pointer))
:gsl-version (1 9)
......@@ -122,7 +122,7 @@
:return (result-array)
:documentation ; FDL
"Compute a series of the angular Mathieu function ce_n(q) for n from
minimum-order to minimum-order + size inclusive, where size
minimum-order to minimum-order + size - 1 inclusive, where size
is either the numerical value supplied in size-or-array, or the
the length of the vector supplied there.")
......@@ -134,7 +134,7 @@
(make-mathieu (+ minimum-order (vdf-size size-or-array)) q))
&aux (size (vdf-size size-or-array)) (result-array (vdf size)))
"gsl_sf_mathieu_se_array"
((minimum-order :int) ((+ minimum-order size) :int)
((minimum-order :int) ((+ minimum-order size -1) :int)
(q :double) (x :double)
((mpointer workspace) :pointer) ((foreign-pointer result-array) :pointer))
:gsl-version (1 9)
......@@ -142,7 +142,7 @@
:return (result-array)
:documentation ; FDL
"Compute a series of the angular Mathieu function se_n(q) for n from
minimum-order to minimum-order + size inclusive, where size
minimum-order to minimum-order + size - 1 inclusive, where size
is either the numerical value supplied in size-or-array, or the
the length of the vector supplied there.")
......
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