Skip to content
Snippets Groups Projects
  1. Aug 14, 2010
    • Liam Healy's avatar
      Add FFT tests · bc4d0b9a
      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.
      bc4d0b9a
  2. Jul 07, 2010
  3. Jul 01, 2010
  4. Jun 30, 2010
  5. Jun 27, 2010
  6. Dec 27, 2009
  7. Dec 08, 2009
    • Liam Healy's avatar
      Split off grid directory · 8d5cd4a5
      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.
      8d5cd4a5
  8. Nov 20, 2009
    • Liam Healy's avatar
      Initial test constructor for FFT tests · 7a78c863
      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.
      7a78c863
  9. Nov 19, 2009
    • Liam Healy's avatar
      Simplify FFT test code, handle GSL version <1.12 · e024b6bb
      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.
      e024b6bb
  10. Nov 18, 2009
  11. Nov 17, 2009
    • Liam Healy's avatar
      Split fft-noise test into FFT and DFT; test generation with supplied answer · 999255fe
      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.
      999255fe
    • Sumant Oemrawsingh's avatar
      Initial test function complex case now works. · e635d8e7
      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.
      e635d8e7
  12. Nov 16, 2009
    • Liam Healy's avatar
      Define noise tests for all element types · b6d847b1
      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.
      b6d847b1
  13. Nov 15, 2009
    • Sumant Oemrawsingh's avatar
      Completed additions for stride · d14dc372
      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.
      d14dc372
  14. Nov 10, 2009
    • Liam Healy's avatar
      Rewrite test-real-radix2 for clarity · a25477a5
      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.
      a25477a5
  15. Nov 09, 2009
    • Liam Healy's avatar
      GSL test test-real-radix2 create correct size real array · e2771a1b
      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.
      e2771a1b
    • Liam Healy's avatar
      GSL test test-real-radix2 working · 1477c1a4
      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.
      1477c1a4
  16. Nov 07, 2009
    • Liam Healy's avatar
      Fast Fourier transform complete · ce3177ad
      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.
      ce3177ad
  17. Nov 02, 2009
    • Liam Healy's avatar
      Unify forward FFT into new file and function · b4f09c28
      Liam Healy authored
      The function #'forward-fourier-transform selects among the 12 GSL
      forward FFT functions, depending on whether the length of the vector
      is a power of 2, whether the :half-complex flag is set, and the type
      of the vector.  This exported function, along with its supporting
      internal functions, are in the file forward.lisp.  The dimension
      argument for fft-pulse-test is now mandatory.  All mobjects have been
      renamed so that they end with either -single-float or -double-float,
      consistent with the naming scheme in the rest of GSLL.  Eliminated
      (evidently) obsolete example file fft-example.lisp.
      b4f09c28
  18. Nov 01, 2009
    • Sumant Oemrawsingh's avatar
      Added attempt to clean FFT interface · dcc05d7f
      Sumant Oemrawsingh authored
      A hopefully nicer interface to the FFT functions are given, where the precise
      FFT function is deduced from the supplied vector. While the interface is
      nicer, the code is ugly, hacky and not fool proof yet. Cleanup required.
      dcc05d7f
  19. Oct 31, 2009
    • Sumant Oemrawsingh's avatar
      Examples for fft added · 46df352f
      Sumant Oemrawsingh authored
      The example shows real, complex, radix-2 and mixed-radix FFTs. It can be used
      in the unit-test framework, but is not properly generated yet.
      46df352f
Loading