1. 13 Jan, 2012 1 commit
  2. 26 May, 2011 1 commit
  3. 12 Jan, 2011 1 commit
  4. 10 Jan, 2011 2 commits
  5. 01 Oct, 2010 1 commit
    • Sumant Oemrawsingh's avatar
      Added non-radix-2 tests for radix-2-sized vectors · 53fcec99
      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.
      53fcec99
  6. 15 Sep, 2010 1 commit
  7. 04 Sep, 2010 1 commit
    • Liam Healy's avatar
      Use vector/length for all versions of GSL in testing FFT · f1fdb181
      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.
      f1fdb181
  8. 02 Sep, 2010 1 commit
  9. 01 Sep, 2010 1 commit
    • Sumant Oemrawsingh's avatar
      Fix for random errors in tests · 04dfa37f
      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.
      04dfa37f
  10. 21 Aug, 2010 1 commit
    • Liam Healy's avatar
      New size-vector-scalar replaces size-vector-real · 43f24411
      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.
      43f24411
  11. 14 Aug, 2010 1 commit
    • 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
  12. 07 Jul, 2010 2 commits
  13. 01 Jul, 2010 2 commits
  14. 30 Jun, 2010 1 commit
  15. 27 Jun, 2010 1 commit
  16. 27 Dec, 2009 1 commit
  17. 08 Dec, 2009 1 commit
    • 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
  18. 26 Nov, 2009 1 commit
    • Sumant Oemrawsingh's avatar
      Added some extra functions for use with FFTs · 976eac7b
      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...).
      976eac7b
  19. 20 Nov, 2009 1 commit
    • 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
  20. 19 Nov, 2009 1 commit
    • 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
  21. 18 Nov, 2009 1 commit
  22. 17 Nov, 2009 2 commits
    • 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
  23. 16 Nov, 2009 1 commit
    • 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
  24. 15 Nov, 2009 1 commit
    • 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
  25. 12 Nov, 2009 1 commit
    • Liam Healy's avatar
      Change incorrect clauses in make-fft-wavetable · b4af2289
      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).
      b4af2289
  26. 10 Nov, 2009 3 commits
  27. 09 Nov, 2009 3 commits
    • Liam M. Healy's avatar
      Default wavetable/workspace; remove unused constant in GSL 1.13; fix dependency · af3cb9e6
      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.
      af3cb9e6
    • 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
  28. 08 Nov, 2009 2 commits
  29. 07 Nov, 2009 2 commits
    • Liam Healy's avatar
      Use make-fft-wavetable and make-fft-workspace to make FFT objects · 503e5186
      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.
      503e5186
    • 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
  30. 04 Nov, 2009 1 commit
    • Liam Healy's avatar
      FFT Unpack · 7192e225
      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.
      7192e225