1. 01 Jan, 2010 1 commit
  2. 27 Dec, 2009 1 commit
  3. 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
  4. 21 Dec, 2009 5 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-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
  5. 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
  6. 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
  7. 09 Nov, 2009 2 commits
  8. 07 Nov, 2009 1 commit
    • 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
  9. 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
  10. 02 Nov, 2009 1 commit
    • 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
  11. 01 Nov, 2009 2 commits
    • 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
    • Sumant Oemrawsingh's avatar
      Some clean-up of real/half-complex FFT · 48f7e66a
      Sumant Oemrawsingh authored
      Half-complex FFT functions were split off into their own file.
      Wavetable and workspace names now have an fft- prepended to their name, for
      clarity.
      48f7e66a
  12. 31 Oct, 2009 3 commits
  13. 25 Oct, 2009 1 commit
    • Sumant Oemrawsingh's avatar
      Preliminary FFT functionality · 68d8dee7
      Sumant Oemrawsingh authored
      Only complex fast fourier transforms have been added. The radix-2 versions
      have been tested and found to work. The decimation-in-frequency versions have
      been added, but not tested. The mixed-radix versions only work for complex
      double-float at the moment.
      68d8dee7
  14. 20 Sep, 2009 1 commit
    • Liam Healy's avatar
      Matrix generation for linear algebra tests · 72eaac6d
      Liam Healy authored
      Matrices (and vectors) may be created from functions of the element
      indices.  This is needed to create the matrices used in testing the
      linear algebra functions.  It also can be of general use, especially
      with further generalization.  For now, there are no exported symbols
      from these definitions.
      72eaac6d
  15. 27 Aug, 2009 1 commit
  16. 24 Aug, 2009 1 commit
  17. 23 Aug, 2009 1 commit
    • Liam Healy's avatar
      Handle cflags in the grovel file · 6f287646
      Liam Healy authored
      Handle conditional cflags in the grovel file instead of modifying the
      cffi-grovel::*cc-flags* variable.  Also use strings for depends-on
      in asdf file.
      6f287646
  18. 18 Jun, 2009 1 commit
  19. 16 Jun, 2009 1 commit
  20. 15 Jun, 2009 1 commit
  21. 10 Jun, 2009 1 commit
  22. 08 Jun, 2009 1 commit
    • Liam Healy's avatar
      Grovel physical constants using new CFFI-grovel · 5386a514
      Liam Healy authored
      Stelian Ionescu has modified CFFI-grovel to generate double-float
      constants with :type double-float in constant.  GSLL has been ported
      to use that.  This requires a version of CFFI which includes the patch
      of Mon Jun 8 10:29:44 EDT 2009.  It works, but until this has a
      release number, it will stay out of the master GSLL branch.
      5386a514
  23. 06 Jun, 2009 1 commit
    • Liam Healy's avatar
      Define C structures using CFFI-grovel · 8c0e6eb7
      Liam Healy authored
      Almost all GSL structures are now defined using CFFI-grovel, which
      makes the code more robust should there be changes in GSL.  The
      exceptions are complex-float-c, complex-double-c, and
      simulated-annealing-parameters; because these structures are used by
      value, they need to be defined with fsbv:defcstruct at the present.
      8c0e6eb7
  24. 05 Jun, 2009 1 commit
    • Liam Healy's avatar
      Reader macro #m evaluates arguments · 70bd2986
      Liam Healy authored
      The reader macro #m now evaluates its arguments, so creating a vector
      with e.g. #m(pi (sqrt 3) (cos (/ pi 4))) is now possible.  Matrices
      are specified by using ^ in the list to separate rows.  GSLL now
      requires cl-utilities once again.
      70bd2986
  25. 04 Jun, 2009 1 commit
  26. 29 May, 2009 1 commit
    • Liam Healy's avatar
      Physical constants added · 722fa9e2
      Liam Healy authored
      All physical constants in gsl/gsl_const_mksa.h and
      gsl/gsl_const_cgsm.h are defined as Lisp constants and exported.  This
      requires a patch to CFFI grovel/grovel.lisp.  Since this patch has
      just been sent to the CFFI mailing list and is not generally
      available, this will remain off the master branch until the patched
      CFFI is generally available.
      722fa9e2
  27. 25 May, 2009 3 commits
    • Liam Healy's avatar
      Use CFFI-grovel to parse physical constants · a683fea3
      Liam Healy authored
      Started writing definitions of constants based on GSL's physical
      constants, using cffi-grovel.  This has not proceeded beyond the first
      definition because cffi-grovel at the present time casts everything to
      an integer.
      a683fea3
    • Liam Healy's avatar
      Use CFFI-grovel to define enumerations and programming constants · 5b255beb
      Liam Healy authored
      Instead of hardwiring GSL's #define or enum values, define them in
      init/libgsl-unix.lisp and run CFFI-grovel on them.  This has the
      advantage that if these values change in GSL, GSLL will automatically
      get the new values; also, there was an error in the 'integrate-method
      enum due to an incorrect starting value.  It has the disadvantage that
      building GSLL now requires a C compiler and some of the header (.h)
      files for GSL.  Also, it's not clear what the form for libgsl-*.lisp
      files are for non-unix OSes.
      5b255beb
    • Liam Healy's avatar
      Random number distribution functions are methods of #'sample · 09648af2
      Liam Healy authored
      The random number distribution functions have been made methods of
      #'sample, with 'source being the generator.
      09648af2
  28. 20 May, 2009 1 commit
    • Liam Healy's avatar
      Simulated annealing loaded in defsystem · 5e1b9c33
      Liam Healy authored
      Simulated annealing is now loaded with the defsystem, and its presence
      advertised in documentation/index.html.  The file
      simulated-annealing.lisp has been moved to solve-minimize-fit.
      The GSL "make check" tests have been added at the end of the file, but
      they are not added to GSLL's examples/tests yet because of how slow it
      runs.
      5e1b9c33
  29. 03 May, 2009 1 commit
    • Liam Healy's avatar
      Conditionalize FSBV · 8a08f552
      Liam Healy authored
      All source code is now conditionalized so that FSBV is optional.  If
      present, functions using complex scalars will work.  If absent, GSLL
      will compile and load correctly, and all functions except those using
      complex scalars will work.  The examples and tests are defined
      appropriately.  Documentation on FSBV dependence has been added to
      index.html.
      8a08f552