- Jan 13, 2012
-
-
Liam M. Healy authored
-
- May 26, 2011
-
-
Liam M. Healy authored
-
- Jan 12, 2011
-
-
Liam M. Healy authored
Don't import grid:element-type, grid:foreign-array, and grid:matrix, but rather refer to them with package prefix explicitly. Superficially checked but requires more careful check.
-
- Jan 10, 2011
-
-
Liam M. Healy authored
Explicit package reference to grid:dimensions but there's an error because if the symbol isn't imported many more tests fail.
-
Liam M. Healy authored
-
- Oct 01, 2010
-
-
Sumant Oemrawsingh authored
Effectively, non-radix-2 algorithm tests on power-of-2 vector sizes are added. The result is, that some tests fail, and the cause at this point is not yet clear. The tests that fail, are all related to non-radix-2 algorithms working on power-of-2 vector sizes. Only tests that are missing, are the so-called bitreverse tests.
-
- Sep 15, 2010
-
-
Sumant Oemrawsingh authored
-
- Sep 04, 2010
-
-
Liam Healy authored
Since the function vector/length no longer relies on GSL for doing the division, it works for all versions of GSL and whether or not FSBV is loaded. This fixes a failure for those versions where :initial-contents was getting an array and not a list.
-
- Sep 02, 2010
-
-
Sumant Oemrawsingh authored
There was one case left where even out-of-stride elements were scaled as well. Tests are still not enabled.
-
- Sep 01, 2010
-
-
Sumant Oemrawsingh authored
The test functions did not properly initialize newly created vectors to contain unique values. This caused comparison of elements that are out of the stride to randomly succeed. The new test functions properly initialize the vectors just like is done in the GSL test functions. The result is that comparison of elements that are out of stride should fail consistently. This automatically means that the comparison should only check elements which are on stride, just like is done in GSL. This is not fixed yet, so the fast-fourier-transform unit tests are still left disabled for now.
-
- Aug 21, 2010
-
-
Liam Healy authored
New function size-vector-scalar replaces size-vector-real, and gives the size as a double float if the array is real, and as the element type if it is complex, in order to be acceptable to the elt* interface to GSL's _scale routines.
-
- Aug 14, 2010
-
-
Liam Healy authored
Add FFT tests; these are a subset of the GSL tests. For some reason the tests take a lot longer in GSLL, so instead of testing all sizes 1...99, we test only 1...9 and then 64 and 99 for stride 1 only.
-
- Jul 07, 2010
-
-
Liam M. Healy authored
Do not use cl-array in tests because it isn't always available. The safer way is by doing a copy out to a new CL array.
-
Liam Healy authored
The generic function #'copy now needs a keyword argument for the destination :grid-type. Eliminate unnecessary copy tests; these are better tested in grid as they didn't use any GSL functions.
-
- Jul 01, 2010
-
-
Liam Healy authored
Use #'gsl:size to call #'grid:total-size for foreign arrays, and use the former function exclusively in GSLL. Fix some more tests.
-
Liam Healy authored
-
- Jun 30, 2010
-
-
Liam Healy authored
-
- Jun 27, 2010
-
-
Liam Healy authored
Package renamed to :grid from :c-array, function renamed to 'foreign-pointer from 'c-pointer. Eliminate reference to native. Port make-marray-or-default to foreign-array.
-
- Dec 27, 2009
-
-
Liam Healy authored
Add copyright and license information to each file, include a copy of the GPL under documentation/COPYING.
-
- Dec 08, 2009
-
-
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 'c-array 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.
-
- Nov 26, 2009
-
-
Sumant Oemrawsingh authored
fft-frequency-vector can be used to make a vector that contains the actual sample frequencies (so you don't have to guess or write your own). fft-shift and fft-inverse-shift 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...).
-
- Nov 20, 2009
-
-
Liam Healy authored
Two new functions to write tests in fast-fourier-transforms/example.lisp, #'make-real-noise-fft-test and #'generate-fft-tests. 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 lisp-unit:define-test. Since they rely on #'make-test in test-unit/generate-tests.lisp, they won't normally be compiled. No test file generated yet.
-
- Nov 19, 2009
-
-
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.
-
- Nov 18, 2009
-
-
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.
-
- Nov 17, 2009
-
-
Liam Healy authored
The FFT noise test test-fft-noise calls a new split-out function forward-fft-rc as well as the DFT "answer". In preparation for the generation of the test files, several functions in generate-tests.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 in-place. for reals it worked because the random (source) vector was copied (or at least, only the real part) before FFT-ing. Now, it's also copied in the complex case.
-
- Nov 16, 2009
-
-
Liam Healy authored
The noise generator make-urand-vector and the noise test, now called test-fft-noise, now work for all four element types, double-float, single-float, (complex double-float), (complex single-float). 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.
-
- Nov 15, 2009
-
-
Sumant Oemrawsingh authored
Unpack functions were still not properly handling strides. This is now fixed. The test-real-radix2 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.
-
- Nov 12, 2009
-
-
Liam Healy authored
For the case (eql element-type 'double-float) in make-fft-wavetable, the clauses of the if were reversed; now fixed. This fixes erroneous output from (test-real-radix2 'double-float 6).
-
- Nov 10, 2009
-
-
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 realpart-vector makes a real vector with the real part of the complex vector passed as an argument; was part of test-real-radix2. The computations being performed in test-real-radix2 are now much clearer.
-
- Nov 09, 2009
-
-
Liam M. Healy authored
In FFT, the default wavetable and workspace arguments to functions now all use #'make-fft-wavetable and make-fft-workspace. Removed definition of +cgsm-gauss+ because evidently GSL_CONST_CGSM_GAUSS is no longer in GSL as of 1.13. Added dependency on init for physical-consants. Trivial change to names of systems in asd files to be more standard.
-
Liam Healy authored
The real array for test-real-radix2 was being made twice as long as it should have been; fixed. Also now load discrete.lisp in gsll.asd so that the tests can be called.
-
Liam Healy authored
The first of the GSL tests has been ported to GSLL as test-real-radix2. Currently it doesn't do a comparison, just returns both the answer from the DFT and from the FFT. Also, stride=1 here.
-
- Nov 08, 2009
-
-
Liam Healy authored
Interface to discrete Fourier transforms defined in GSL but not documented, apparently used for tests of FFT only.
-
Sumant Oemrawsingh authored
The generic unpack function called the specific unpack functions without passing on the vector, causing you to land in the debugger.
-
- Nov 07, 2009
-
-
Liam Healy authored
Use make-fft-wavetable and make-fft-workspace to make the FFT objects. The specific FFT wavetable and workspace mobjects are not exported, which is now possible to specify in defmobject with :export nil.
-
Liam Healy authored
The fast Fourier transform port now complete except for the tests. The backward, inverse, and selectable direction transforms are now unified in their respective files, a new file has been created for the wavetable and workspace mobjects. The output of the example functions looks plausible.
-
- Nov 04, 2009
-
-
Liam Healy authored
Function #'unpack will switch between the various unpacking generic functions, depending on the specified unpack type and whether the vector length is a power of 2. New file unpack.lisp has all the unpacking functions.
-