-
Liam Healy authored
Optional arguments may be specified easily as functions creating GSL objects, keying off the element type of the required arguments. For example, the arglist ((matrix matrix) i &optional (vector :make-marray vector (dim0 matrix))) means that if vector is not specified, it will make a vector whose element type is the same as matrix, and whose length is the number of rows of matrix. This is used to proved default arguments for a number of functions, including the workspace argument for eigenspaces. Some arguments that were required before are now optional and therefore placed after the required arguments. Renamed to matrix-transpose from matrix-transpose-copy, and the the in-place transpose renamed to matrix-transpose* from matrix-transpose. Tests on 64 bit: SBCL: TOTAL: 1223 assertions passed, 5 failed, 0 execution errors. CCL: TOTAL: 1228 assertions passed, 0 failed, 0 execution errors.
164cc82c