Skip to content
Snippets Groups Projects
  1. Oct 29, 2011
    • Liam M. Healy's avatar
      Fix sf-result* definitions, eliminate ffexpand, fsbv:object · 121e475d
      Liam M. Healy authored
      Fix sf-result and sf-result-e10 translation methods, and use in
      complex-with-error and values-with-errors.  Some usage in gamma.lisp
      updated, but there will be a need to replace sf-result with (:struct
      sf-result) in all declarations for many special functions.
      
      I removed ffexpand and everything it depended on because there is no
      reason to make a side defcfun for call-by-value functions, and if FSBV
      is missing CFFI already emits an error.  All usage of fsbv:object and
      any thing from the FSBV package is now gone.
      121e475d
  2. Oct 24, 2011
    • Liam M. Healy's avatar
      Eliminate fsbv:object for built-in types · 639a5f35
      Liam M. Healy authored
      Eliminate fsbv:object for built-in types; started conversion of
      special function result (sf-result*) structures but this requires a
      modification to CFFI.  Simulated annealing structure called by value.
      Use cffi-fsbv's sizet definition; this imposes a dependence on that
      system.  No compilation attempted yet.
      639a5f35
  3. Jan 13, 2011
  4. Jan 10, 2011
    • Liam M. Healy's avatar
      9fc8126d
    • Liam M. Healy's avatar
      Shadow symbols from antik · 80544fee
      Liam M. Healy authored
      With the export of unit and dimension names, there are conflicts with
      gsl:psi, gsl:acceleration, gsl:knots.  There is no actual conflict in
      the usage because Antik physical quantities only needs to use these
      symbols as symbols, there is no binding.  So they are now
      shadowing-imported into gsll.  
      
      Added explicit "d0" to numbers in polynomial to insure they are read
      as double-floats.
      80544fee
  5. Dec 19, 2010
  6. Dec 04, 2010
  7. Aug 08, 2010
    • Liam Healy's avatar
      Replace 'pi with 'dpi, the double-float version · 7aa0111c
      Liam Healy authored
      The standard declares that 'pi is an implementation-dependent
      long-float, but GSL requires double float, so the constant 'dpi has
      been defined as (coerce pi 'double-float).  This should make CLISP at
      the least happier.
      7aa0111c
  8. Jul 15, 2010
  9. Jul 07, 2010
  10. Jun 30, 2010
  11. Jun 27, 2010
  12. Jun 01, 2010
    • Liam Healy's avatar
      Fix return from #'exp-err-scaled, rename/move test macros · 6f686bab
      Liam Healy authored
      The return value from #'exp-err-scaled should be sf-result-e10, now
      fixed.  Test macros renamed, made to match their corresponding GSL
      versions better, and moved to augment.lisp.  Some of the GSL
      exponential function tests are now ported, and two fail.
      6f686bab
  13. May 30, 2010
  14. May 23, 2010
    • Liam Healy's avatar
      Simplified paths to the foreign libraries; use gsl-config for header · 610e8dc2
      Liam Healy authored
      The paths to the foreign libraries have been simplified, making use of
      CFFI's statement "Most, if not all, Lisps supported by CFFI have a
      reasonable default search algorithm for foreign libraries."
      Therefore, the paths have been eliminated.  If they need to be added,
      this should be done by modifying the variable
      cffi:*foreign-library-directories*.  The header files location set
      with cc-flags for Darwin has been changed to use (gsl-config "--cflags").
      610e8dc2
  15. Apr 14, 2010
    • Liam M. Healy's avatar
      Correct return values from jacobian-elliptic-functions; add tests · aa68fe67
      Liam M. Healy authored
      The GSL function gsl_sf_elljac_e writes sn, cn, dn values to doubles
      for which the pointer has been passed in, as shown in
      /usr/include/gsl/gsl_sf_elljac.h, and not to sf-result as one might be
      led to conclude from the "_e" at the end of the name.  This is now
      fixed in GSLL, so that the tests, which sometimes passed and sometimes
      didn't depending on what was run before it, now should always work.
      The single non-error test been replaced by the 35 GSL tests in
      gsl/specfunc/test_sf.c, and they all pass in SBCL Linux AMD64.
      aa68fe67
  16. Dec 27, 2009
  17. Dec 21, 2009
    • 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
  18. Nov 14, 2009
  19. Aug 23, 2009
    • 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
  20. Jun 06, 2009
    • 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
  21. May 25, 2009
    • 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
      Generic function #'size replaces #'total-size for marrays · 938ae6d6
      Liam Healy authored
      Use #'size instead of #'total-size for marrays.
      938ae6d6
  22. Apr 27, 2009
    • Liam Healy's avatar
      Redeclare foreign-allocated variables called by reference · 9848c6ad
      Liam Healy authored
      Variables called using with-foreign-objects that are passed to GSL for
      the purposes of returning computed values (i.e., are not mentioned in
      the CL arglist) need to be declared (:pointer type) because they are
      calls by reference.  Everything now compiles though there are
      execution errors in the tests.
      9848c6ad
  23. Mar 04, 2009
  24. Mar 02, 2009
    • Liam Healy's avatar
      Bessel function consolidation and rename · 0daffee9
      Liam Healy authored
      Integer and fractional order Bessel functions renamed to be methods of
      the same generic function (for J and Y).  Name the array function
      analogously (-x, -order) so it is clear what is changing.  Fix
      docstring phrasing for Hankel.
      0daffee9
  25. Feb 20, 2009
    • Liam Healy's avatar
      Unify linear-mfit; Airy tests from GSL · ed9a001e
      Liam Healy authored
      The linear multi-parameter fitting functions with and without SVD have
      been unified into one function #'linear-fit; the weighted and
      unweighted functions have already been unified.  If tolerance is
      non-nil (double-float) the SVD functions will be called.
      
      Tests of the Airy functions have been replaced by those in GSL's
      gsl-1.11/specfunc/test_airy.c and agree.  Test totals now:
      SBCL 64: TOTAL: 1440 assertions passed, 5 failed, 0 execution errors.
      CCL 64:  TOTAL: 1441 assertions passed, 4 failed, 0 execution errors.
      ed9a001e
  26. Feb 17, 2009
    • Liam Healy's avatar
      GSL features added in version 1.10 · 94413b43
      Liam Healy authored
      Functions added to GSL with version 1.10, and related changes: 
      - Cholesky routines for complex matrices; Cholesky functions _solve and
      _svx (solution separate and in-place) now combined into a single
      generic function with an optional argument #'cholesky-solve.
      Unfortunately a default marray maker can't be included in the optional
      argument.
       - Correlation added, and covariance and correlation tests expanded to
      all supported matrix element types.
       - Added #'exponential-integral-En for nth-order exponential integral.
       - Also rewrote #'callback-set-slots and #'body-expand to eliminate
      gratuitous (progn nil ...) in some defmfun expansions.
      Test results:
      SBCL 64: TOTAL: 1379 assertions passed, 5 failed, 0 execution errors.
      CCL 64: TOTAL: 1380 assertions passed, 4 failed, 0 execution errors.
      94413b43
  27. Feb 16, 2009
  28. Jan 11, 2009
    • Liam Healy's avatar
      Non-symmetric eigensystems, array outputs for special functions · 12c2be7e
      Liam Healy authored
      Added some functions introduced in GSL 1.9 to solve eigenvectors and
      eigenvalues for non-symmetric matrices.  These are untested as yet.
      Changed array output for special functions to be optional arguments
      which can take a size (integer) and create a marray of the right
      size.
      12c2be7e
    • Liam Healy's avatar
      Use &aux definitions in defmfun; clean up foreign-friendly definitions · 0b69f21e
      Liam Healy authored
      Add &aux to defmfuns to that e.g. array arguments can optionally take
      a size and make an array (bessel.lisp).  Remove several unused
      definitions in foreign-friendly held over from ffa.
      SBCL 64: TOTAL: 1223 assertions passed, 5 failed, 0 execution errors.
      CCL 64: TOTAL: 1228 assertions passed, 0 failed, 0 execution errors.
      0b69f21e
  29. Dec 31, 2008
    • Liam Healy's avatar
      Specify :inputs and :outputs; CCL works · 54353bcb
      Liam Healy authored
      More :inputs and :outputs specified.  CCL now passes all 1208 tests if
      certain functions are traced (bug in CCL?)
      (trace polynomial-eval-divided-difference swap-elements
             permutation-reverse lu-invert permutation-next)
      54353bcb
  30. Dec 30, 2008
  31. Dec 26, 2008
    • Liam Healy's avatar
      Full use of defmobject; elimination of letm · b09dc9d2
      Liam Healy authored
      All GSL objects are full CL objects with garbage collection.  There is
      no need to manually free the associated memory.  All objects may be
      assigned in the normal CL way, e.g. let, so there is not #'letm macro
      anymore.  Everything compiles cleanly in gsll, but nothing has been
      tested.
      b09dc9d2
    • Liam Healy's avatar
      New class foreign-array, new names: marray, make-marray, mobject.lisp · 7c66d57b
      Liam Healy authored
      New class foreign-array represents foreign (C) arrays, without GSL or
      mobject superclass.  New class name 'marray was 'gsl-data,
      representing arrays in GSL.  These objects are made by #'make-marray,
      formerely #'make-array*.  New file names: init/mobject.lisp was
      init/gsl-objects.lisp and data/marray.lisp was data/data.lisp.
      7c66d57b
  32. Dec 01, 2008
    • Liam Healy's avatar
      GSL array making with make-array* and #m · 83cd8040
      Liam Healy authored
      GSL arrays are garbage-collected objects, and so can be made like any
      other lisp object; they do not need to be make inside a wrapper form.
      #m is a macro which makes them; it expands to a #'make-array* call.
      Examples and usage ported to this new form.  Compiled only; not tested
      yet.  No effort to port to non-native implementation yet; tests as
      expanded in the tests/ directory are not ported yet.
      83cd8040
  33. Nov 16, 2008
  34. Oct 25, 2008
    • Liam Healy's avatar
      Port tests to save-test · 0343f3ce
      Liam Healy authored
      All remaning tests are now defined with save-test, and the
      LISP-UNIT:DEFINE-TEST has been eliminated from the definition files,
      except for arrays.
      0343f3ce
Loading