 27 Dec, 2009 1 commit


Liam Healy authored
Add copyright and license information to each file, include a copy of the GPL under documentation/COPYING.

 26 Dec, 2009 2 commits


Liam Healy authored
Removed some marrays marked as :input when their values were not used. This failed in CCL because the arrays in those cases were created with no initial values, and no values were set, so that they were marked clinvalid. Created #'makemarrayordefault to facilitate defaulting of marrays in defmfun, and marking validity appropriately. Test results: SBCL 64: TOTAL: 1627 assertions passed, 6 failed, 0 execution errors. CCL 64: TOTAL: 1620 assertions passed, 13 failed, 0 execution errors.

Liam Healy authored
Some symbols that were formerly in the GSLL package and now are in carray need to imported from that package. This only affects nonnative implementation and so was discovered in trying to compile in CCL. There are still too many test failures in CCL.

 25 Dec, 2009 1 commit


Liam Healy authored
Explain in the documentation the dependence of GSLL on the GSD systems grid and carray.

 24 Dec, 2009 1 commit


Liam Healy authored
The grid subdirectory is now the carray system within the GSD repository, as it has no GSLdependent definitions and is potentially useful on its own for other C libraries. There is a bare minimum mention of GSD in the documentation, which needs to be enhanced as it is required for GSLL to compile/load.

 23 Dec, 2009 1 commit


Liam Healy authored
Replace creatematrix and constantmatrix by using the grid functions grid:mapgrid and grid:makegrid; eliminate createvector because vectors can be generated with creatematrix and using nil for the second dimension argument. In the grid:makegriddata method for makemarray, the first argument, which is the element type, needs to be extracted from the rest spec with a newlychanged grid:specscalarp because compound types like (complex doublefloat) were not being recognized as element types.

 22 Dec, 2009 2 commits


Liam Healy authored
The GSLL marrays now function correctly as instances of grid:grid; for example, (grid:transpose *m35*) works. All previous tests pass in SBCL.

Liam Healy authored
The grid definitions supply the slot 'grid:data which can be used for CL array storage for marrays. In order for a combination of zero dimension (k) to be made, there is an ignoreerrors around the makeaffi in initializeinstance :after for foreignarray.

 21 Dec, 2009 6 commits


Liam Healy authored
Define foreignarray as subclass of grid:grid with access to elements through grid:gref.

Liam Healy authored
Moved the definition of the generic function copymakingdestination to copy objects while making a destination object, and the wrapper function #'copy for that and copytodestination to grid/ and carray: package.

Liam Healy authored
The generic function definition for copytodestination is now in grid/ and the carray package. This will make it accessible to nonGSLL foreign library interfaces, but the new location is a bit deceptive because a new method needn't be a subclass of foreignarray.

Liam Healy authored
Moved the defgeneric and methods for CL arrays and foreignarray for clarray, maref and (setf maref) to a new file grid/elementreference.lisp. The old file data/maref.lisp remains with the GSL pointer methods.

Liam Healy authored
Continuing the separation of definitions useful for any libraries using C arrays, foreignarray.lisp and foreignfriendly.lisp have been moved to the grid subdirectory and placed in the carray package. All tests pass on SBCL 64, TOTAL: 1627 assertions passed, 6 failed, 0 execution errors.

Liam Healy authored
Move numberconversion.lisp from init/ to grid/ and symboltype portion of init/interface.lisp to grid/symboltype.lisp. All tests pass TOTAL: 1627 assertions passed, 6 failed, 0 execution errors.

 08 Dec, 2009 2 commits


Liam Healy authored
Continued separation of GSLL into two packages and eventually systems, the definitions in elementtypes.lisp are now in the carray package.

Liam Healy authored
Eventually, the definitions used for dealing with types and foreign arrays that aren't specific to GSL will be split off into another system, so that it will be easier to build other foreign library interfaces using these definitions. As a start, the grid/ directory defines a package 'carray and some of the type definitions formerly in init/. Everything compiles and tests as before, on SBCL TOTAL: 1627 assertions passed, 6 failed, 0 execution errors.

 06 Dec, 2009 1 commit


Liam Healy authored

 01 Dec, 2009 1 commit


Liam Healy authored

 30 Nov, 2009 2 commits



Liam M. Healy authored
Function #'numberclass finds the CL class from the number type, replacing the previous function #'numberclassfromtype in init/defmfunarray.lisp. It is a bit more general.

 26 Nov, 2009 1 commit


Sumant Oemrawsingh authored
fftfrequencyvector can be used to make a vector that contains the actual sample frequencies (so you don't have to guess or write your own). fftshift and fftinverseshift shift the zero frequency to the center (for easy plotting), and the inverse (for proper inverse FFT). These functions are comparable to fftfreq, fftshift and ifftshift in numpy (if anyone cares...).

 20 Nov, 2009 1 commit


Liam Healy authored
Two new functions to write tests in fastfouriertransforms/example.lisp, #'makerealnoiseffttest and #'generateffttests. The first one generates, given a size and stride, a pair of forward and inverse real tests, together with the answers. The second one loops over a range of sizes and strides, collecting the sets, and wrapping with a lispunit:definetest. Since they rely on #'maketest in testunit/generatetests.lisp, they won't normally be compiled. No test file generated yet.

 19 Nov, 2009 1 commit


Liam Healy authored
The expanded FFT tests with inverse and backward transformations have simplified code. Since the backward and inverse cases must be divided by the length, the complex test will not work in GSL versions prior to 1.12, nor if FSBV is missing. In these cases, the vector is computed by converting to a CL array, dividing by the length, and then converting back.

 18 Nov, 2009 2 commits


Liam M. Healy authored
The functions elt* and elt+ which used with a scalar use complex, not double, scalars; GSL functions are gsl_vector_complex_scale, gsl_vector_complex_add_constant, gsl_vector_complex_float_scale, gsl_vector_complex_float_add_constant.

Sumant Oemrawsingh authored
The backward FFT test for complex numbers doesn't work properly now because of some corruption that happens with elt/. But the forms should be correct.

 17 Nov, 2009 2 commits


Liam Healy authored
The FFT noise test testfftnoise calls a new splitout function forwardfftrc as well as the DFT "answer". In preparation for the generation of the test files, several functions in generatetests.lisp have been modified to accept a known answer, in lieu of evaluating the form and saving that as the reference.

Sumant Oemrawsingh authored
The reason why the complex case didn't work in example.lisp, is that the FFTs (not DFTs) work inplace. for reals it worked because the random (source) vector was copied (or at least, only the real part) before FFTing. Now, it's also copied in the complex case.

 16 Nov, 2009 2 commits


Liam M. Healy authored
Eliminate defparameter *passcomplexscalarastworeals* and associate comments which predate FSBV.

Liam Healy authored
The noise generator makeurandvector and the noise test, now called testfftnoise, now work for all four element types, doublefloat, singlefloat, (complex doublefloat), (complex singlefloat). These are meant to emulate the noise parts of GSL's test_complex_radix2, test_real_radix2, test_complex_float_radix2, test_real_float_radix2, test_complex_float_func, test_complex_func, test_real_float_func, and test_real_func. The real tests pass and the complex tests currently fail.

 15 Nov, 2009 2 commits


Sumant Oemrawsingh authored
Unpack functions were still not properly handling strides. This is now fixed. The testrealradix2 function (from GSL's original test_real_radix2) now also works with strides. The function is not yet complete, though, as it does not yet test backward/inverse functions, and also doesn't actually perform comparisons yet.


 14 Nov, 2009 1 commit


Liam Healy authored
A few overlooked function symbols have been exported and some unused function definitions eliminated. Added an example solvetridiagonalexample thanks to Mirko Vukovic.

 13 Nov, 2009 1 commit


Liam Healy authored

 12 Nov, 2009 4 commits


Liam Healy authored
Clean up spline examples with simpler code and same results. Functions in interpolation/evaluation.lisp with key argument :acceleration defaults to (makeacceleration). Test for evaluateintegralexample added.

TTCA Vukovic authored

TTCA Vukovic authored

Liam Healy authored
For the case (eql elementtype 'doublefloat) in makefftwavetable, the clauses of the if were reversed; now fixed. This fixes erroneous output from (testrealradix2 'doublefloat 6).

 10 Nov, 2009 3 commits


Sumant Oemrawsingh authored

Sumant Oemrawsingh authored
For the FFT functions in GSLL, the vector sizes cannot be supplied by the caller, but the stride can. The vector size passed to GSL is not the actual vector size, but rather the size of the vector taking the stride into account: (floor (size vector) stride). This is now fixed.

Liam Healy authored
New function realpartvector makes a real vector with the real part of the complex vector passed as an argument; was part of testrealradix2. The computations being performed in testrealradix2 are now much clearer.
