1. 25 Dec, 2009 1 commit
  2. 24 Dec, 2009 1 commit
    • Liam Healy's avatar
      Remove grid to the gsd/c-array repository · c75e91d2
      Liam Healy authored
      The grid subdirectory is now the c-array system within the GSD
      repository, as it has no GSL-dependent 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.
      c75e91d2
  3. 23 Dec, 2009 1 commit
    • Liam Healy's avatar
      Replace create-matrix and constant-matrix using grid functions · e48ba0cb
      Liam Healy authored
      Replace create-matrix and constant-matrix by using the grid functions
      grid:map-grid and grid:make-grid; eliminate create-vector because
      vectors can be generated with create-matrix and using nil for the
      second dimension argument.  In the grid:make-grid-data method for
      make-marray, the first argument, which is the element type, needs to
      be extracted from the rest spec with a newly-changed
      grid:spec-scalar-p because compound types like (complex double-float)
      were not being recognized as element types.
      e48ba0cb
  4. 22 Dec, 2009 2 commits
    • Liam Healy's avatar
      Integrate marrays into grid · 1a4cb94f
      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.
      1a4cb94f
    • Liam Healy's avatar
      Use slot 'grid:data instead of superfluous slot 'cl-array · 7b6dea21
      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 ignore-errors around the
      make-affi in initialize-instance :after for foreign-array.
      7b6dea21
  5. 21 Dec, 2009 6 commits
    • Liam Healy's avatar
      Define foreign-array as subclass of grid:grid · 0c0834e1
      Liam Healy authored
      Define foreign-array as subclass of grid:grid with access to elements
      through grid:gref.
      0c0834e1
    • Liam Healy's avatar
      Move copy, copy-making-destination to grid · 3680b307
      Liam Healy authored
      Moved the definition of the generic function copy-making-destination
      to copy objects while making a destination object, and the wrapper
      function #'copy for that and copy-to-destination to grid/ and c-array:
      package.
      3680b307
    • Liam Healy's avatar
      Move copy-to-destination to grid · 06f99392
      Liam Healy authored
      The generic function definition for copy-to-destination is now in
      grid/ and the c-array package.  This will make it accessible to
      non-GSLL foreign library interfaces, but the new location is a bit
      deceptive because a new method needn't be a subclass of foreign-array.
      06f99392
    • Liam Healy's avatar
      Moved some maref definitions to grid · f3a45c98
      Liam Healy authored
      Moved the defgeneric and methods for CL arrays and foreign-array for
      cl-array, maref and (setf maref) to a new file
      grid/element-reference.lisp.  The old file data/maref.lisp remains
      with the GSL pointer methods.
      f3a45c98
    • Liam Healy's avatar
      Move foreign-array and foreign-friendly to grid · a9cf4a74
      Liam Healy authored
      Continuing the separation of definitions useful for any libraries
      using C arrays, foreign-array.lisp and foreign-friendly.lisp have been
      moved to the grid subdirectory and placed in the c-array package.
      All tests pass on SBCL 64,
      TOTAL: 1627 assertions passed, 6 failed, 0 execution errors.
      a9cf4a74
    • Liam Healy's avatar
      Move symbol-type and number-conversion to grid · ce261d71
      Liam Healy authored
      Move number-conversion.lisp from init/ to grid/ and symbol-type
      portion of init/interface.lisp to grid/symbol-type.lisp.
      All tests pass
      TOTAL: 1627 assertions passed, 6 failed, 0 execution errors.
      ce261d71
  6. 08 Dec, 2009 2 commits
    • Liam Healy's avatar
      Moved element-types.lisp from init to grid · 2317ccf0
      Liam Healy authored
      Continued separation of GSLL into two packages and eventually systems,
      the definitions in element-types.lisp are now in the c-array package.
      2317ccf0
    • 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
  7. 06 Dec, 2009 1 commit
  8. 01 Dec, 2009 1 commit
  9. 30 Nov, 2009 2 commits
  10. 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
  11. 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
  12. 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
  13. 18 Nov, 2009 2 commits
  14. 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
  15. 16 Nov, 2009 2 commits
    • Liam M. Healy's avatar
      Eliminate obsolete code · 7663933a
      Liam M. Healy authored
      Eliminate defparameter *pass-complex-scalar-as-two-reals* and
      associate comments which predate FSBV.
      7663933a
    • 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
  16. 15 Nov, 2009 2 commits
  17. 14 Nov, 2009 1 commit
  18. 13 Nov, 2009 1 commit
  19. 12 Nov, 2009 4 commits
  20. 10 Nov, 2009 3 commits
  21. 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