1. 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
  2. 09 Nov, 2009 1 commit
    • 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
  3. 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
  4. 01 Nov, 2009 1 commit
    • Liam Healy's avatar
      Updated documentation for FFT · 0e3f8c2a
      Liam Healy authored
      Added FFT to the list of features in index.html and removed from
      missing-features.text; also updated other things in
      missing-features.text.
      0e3f8c2a
  5. 16 Jun, 2009 1 commit
    • Liam Healy's avatar
      Update CFFI version of dependency · e0325df2
      Liam Healy authored
      The CFFI-grovel with the double-float constants has been released in
      version 0.10.5, update the documentation to reflect this.
      e0325df2
  6. 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
  7. 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
  8. 05 Jun, 2009 3 commits
  9. 04 Jun, 2009 1 commit
  10. 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
  11. 25 May, 2009 1 commit
    • 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
  12. 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
  13. 03 May, 2009 2 commits
    • Liam Healy's avatar
      Improved documentation · 0e0e3f9d
      Liam Healy authored
      More accurate description of how to use FSBV; better organization of
      the download/install section.
      0e0e3f9d
    • 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
  14. 04 Apr, 2009 2 commits
    • Liam Healy's avatar
      Added integration methods QAWS, QAWO, QAWF; new tests for numerical integration · 2217c408
      Liam Healy authored
      Integration methods 
      integration-QAWS: adaptive integration for singular functions
      integration-QAWO: adaptive integration for oscillatory functions
      integration-QAWF: adaptive integration for Fourier integrals
      have been added in a file numerical-integration-with-tables.lisp.
      These require tables with are new mobjects.  All of the tests from GSL
      in gsl-1.11/integration/test.c and gsl-1.11/integration/tests.c for
      ported functions are now in either this file or
      numerical-integration.lisp. 
      SBCL 64: TOTAL: 1522 assertions passed, 5 failed, 0 execution errors.
      CCL 64:  TOTAL: 1525 assertions passed, 2 failed, 0 execution errors.
      2217c408
    • Liam Healy's avatar
      Eliminated dependency on cl-utilities; error for obsolete defmpar · 45ca8e88
      Liam Healy authored
      The defmobject argument 'class-slots-instance is no longer used, so
      #'callback-arg-p and the only use of with-unique-names can be
      eliminated, and thus the dependency on cl-utilities.
      
      Constant GSL functions in the library (such as minimizers) which
      were introduced in a GSL version newer than loaded now expand as
      symbol macros which signal the 'obsolete-gsl-version error.
      45ca8e88
  15. 01 Apr, 2009 2 commits
    • Liam Healy's avatar
      Improved documentation · c54985ee
      Liam Healy authored
      Added link to "function designator" definition.
      c54985ee
    • Liam Healy's avatar
      Pure defmfun callbacks dynamically specified fully functional · 42e2d608
      Liam Healy authored
      Redefine the form of :callback-dynamic to be
      (dimensions (function scalarsp) ...)
      and usage in numerical-differentiation, numerical-integration, and
      monte-carlo.  Parse this variable in callbacks.lisp with #'cbd-dimensions
      and #'cbd-functions.  Fix error in wfo-declare which had gsl-function
      hardwired.  If manually defined (defconstant +success+ 0),
      all tests that pass in master also pass here:
      SBCL
      TOTAL: 1451 assertions passed, 5 failed, 0 execution errors.
      CCL
      TOTAL: 1454 assertions passed, 2 failed, 0 execution errors.
      42e2d608
  16. 20 Mar, 2009 1 commit
    • Liam Healy's avatar
      Extend #'copy to copy to or from mpointers · efa2315f
      Liam Healy authored
      Both copy-to-array and copy-making-destination have been extended so
      that an mpointer can occur as the first or second argument.  If the
      first argument, the second argument should be a symbol representing a
      subclass of marray.  If the second argument is not present
      (copy-making-destination), 'vector-double-float is assumed.  If the
      mpointer is the second argument, the marray contents are copied into
      its contents.  These methods are useful for callbacks and GSL
      functions that send raw mpointers.  For example, a callback that uses
      foreign arrays directly can simply copy from and to them.  This has
      been applied in the solve-minimize-fit functions that return a raw
      mpointer, replacing the explicit call to make-marray.  The first
      argument to #'marray can now be either the class name or element-type.
      efa2315f
  17. 11 Mar, 2009 1 commit
    • Liam Healy's avatar
      Split off lisp-unit to its own system · d8805155
      Liam Healy authored
      The unit/regression test lisp-unit has been split off into its own
      system.  This includes the extensions made to it for GSLL, as modified
      by Thomas Hermann.
      d8805155
  18. 21 Feb, 2009 1 commit
    • Liam Healy's avatar
      Order of arguments in linear-mfit, export symbols, documentation update · 352210f5
      Liam Healy authored
      Swapped the optional arguments 'weight, 'tolerance to linear-mfit on
      the assumption that weighted fits are used more often than SVD.
      Exported symbols for the generic functions defined in generic.lisp
      (note: this will require shadowing when importing both the :gsl
      package and the :iterate package).  Various minor improvements/updates
      to documentation.
      352210f5
  19. 16 Feb, 2009 2 commits
    • Liam Healy's avatar
      Added generalized eigensystems and separated files · 160ffb90
      Liam Healy authored
      The generalized (symmetric and non-symmetric) eigensystem definitions
      have been added, and four separate files made for all eigensystem
      definitions.  Not too much attention has been paid to consistent or
      unified names.
      160ffb90
    • Liam Healy's avatar
      Monte Carlo uses direct function callbacks · bcf61476
      Liam Healy authored
      Direct function callbacks may now be used with GSL structs other than
      'gsl-function, and will set the 'dimension slot as well by looking at
      the arglist of the function sent.  This uses an #'arglist borrowed
      from CLOCC:port.  Rewrite make-callbacks based on a hash table rather
      than a generic function.  All the usualy tests pass.
      SBCL 64:
      TOTAL: 1259 assertions passed, 5 failed, 0 execution errors.
      CCL 64:
      TOTAL: 1260 assertions passed, 4 failed, 0 execution errors.
      bcf61476
  20. 26 Jan, 2009 1 commit
    • Liam Healy's avatar
      New macro with-ode-integration, new ODE tests · b6d90200
      Liam Healy authored
      The macro with-ode-integration has been significantly altered, using
      marrays and symbol macros to make integration forms easier.  There are
      now 10 ode tests, one for each of the supplied steppers.
      b6d90200
  21. 25 Jan, 2009 1 commit
    • Liam Healy's avatar
      Use lambda forms in callbacks · b134ed94
      Liam Healy authored
      It is possible to use lambda forms as well as function names in
      callback definers; this is demonstrated in the Monte Carlo example.
      Eliminated make-mfunction and folded its functionality into
      make-solver-functions.  Added a section to the documentation to
      explain how function definitions work.
      b134ed94
  22. 24 Jan, 2009 1 commit
    • Liam Healy's avatar
      Define callbacks by returning the struct pointer, without setting specials · f0c7ecec
      Liam Healy authored
      Macro defcbstruct and all the macros built on it now simply return the
      C struct needed by GSL functions instead of binding a special whose
      name is then passed to the GSL functions.  Specials can still be used
      of course in the standard way like defparameter, but the results can
      also be bound locally with a let or passed in directly.  The name of a
      callback passed to defmcallback and to defcbstruct in all the macros
      that expand both is now gensymmed (since it is used only long enough
      to put in a slot of the cbstruct) instead of taken to be the name of
      the CL function, in order to make clear the different objects.
      Unfortunately, there is appears to be a bug in CFFI using defcallback
      with an uninterned symbol in CCL, so I have put a workaround in.
      However, there is still another error even with this workaround.
      Thus test results are:
      SBCL 64: TOTAL: 1248 assertions passed, 5 failed, 0 execution errors.
      CCL 64: TOTAL: 1229 assertions passed, 2 failed, 6 execution errors.
      f0c7ecec
  23. 21 Jan, 2009 1 commit
  24. 16 Jan, 2009 1 commit
    • Liam Healy's avatar
      Remove cl-utilities dependence · 1b22bb29
      Liam Healy authored
      GSLL is no longer dependent on cl-utilities, so remove it.  Generic
      function #'name needs to be loaded before the obsolete-gsl-version
      condition is defined, otherwise CLISP complains.  Conditionalize away
      a couple more 64 bit tests that were overlooked.
      1b22bb29
  25. 09 Jan, 2009 1 commit
  26. 08 Jan, 2009 2 commits
    • Liam Healy's avatar
      Minor fixes; documentation update · 79a0f72c
      Liam Healy authored
      LU-decomposition now returns signum as a second value.  Remove unused
      *sizet-type*.  Update index.html with clbuild installation procedure
      provided by Glen Henshaw and how to run the tests.
      79a0f72c
    • Liam Healy's avatar
      Split defmfun.lisp; modify index.html · d2018a78
      Liam Healy authored
      Split out defmfun into three files because it was getting unwieldy.
      Small rearrangement of documentation with an update to adsf
      instructions.  64 bit tests results as before.
      d2018a78
  27. 04 Jan, 2009 1 commit
    • Liam Healy's avatar
      Elementwise array operations named "elt" · 4bfa337d
      Liam Healy authored
      GSL functions that operate from one corresponding array elements and
      then overwrite the first array, as well as those that operate on each
      element of an array with a scalar, are now named starting with "elt",
      as in "elt+"; formerely they started with "m".  This is to reinforce
      the idea that they are not generally a mathematical solution to
      algebraic problems, just elementwise operations.  The scalar
      operations (addition, multiplication) are methods of elt+ and elt* as
      well. Test results 64 bit:
      SBCL: TOTAL: 1223 assertions passed, 5 failed, 0 execution errors.
      CCL: TOTAL: 1228 assertions passed, 0 failed, 0 execution errors.
      4bfa337d
  28. 02 Jan, 2009 1 commit
    • Liam Healy's avatar
      Documentation current · 262e486e
      Liam Healy authored
      Rewrote the documentation to reflect the current state of the
      software, as a single HTML file index.html, and used a new css style
      cribbed from iterate.  There are two text files added: status.text
      that is a summary of test pass/fail on various implementations and
      platforms, and missing-features.text that documents features of GSL
      that aren't included.
      262e486e
  29. 28 Dec, 2008 1 commit
  30. 17 Nov, 2008 1 commit
    • Liam Healy's avatar
      Analysis of port progress; improve documentation · ebf82b24
      Liam Healy authored
      Started in file init/analysis.lisp some definitions that will aid in
      gauging how much of GSL GSLL covers.  It will not normally be loaded
      (and depends on port system which is not required for GSLL) because it
      is mainly used by developers.  It is not yet finished.  Hash size for
      *gsl-symbol-equivalence* increased to reflect actual number of symbols
      present when GSLL is loaded.  Improved documentation.
      ebf82b24
  31. 16 Nov, 2008 1 commit
  32. 01 Sep, 2008 1 commit
    • Liam Healy's avatar
      Updated documentation · 8d9ce4e8
      Liam Healy authored
      Updated the documentation to reflect changes in the new branch with
      foreign-friendly arrays.  This is now better reflective or the current
      definitions, but work needs to be done.  Added a dependency that was
      missing: matrix exponential needs special functions to define sf-mode.
      8d9ce4e8
  33. 25 Jul, 2008 1 commit