1. 16 Jun, 2009 4 commits
  2. 15 Jun, 2009 1 commit
  3. 10 Jun, 2009 1 commit
    • Liam Healy's avatar
      Fix multidimensional minimization with scalarsp · a2ba427b
      Liam Healy authored
      In the definition of multi-dimensional-minimizer-fdf, the dimensions
      of the :output for df and fdf have been corrected by removing an extra
      dim0.  The parabaloid example has been implemented using scalars, and
      the results match that of the vector form.  A test has been added for
      the scalar form.
      a2ba427b
  4. 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
  5. 07 Jun, 2009 1 commit
  6. 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
  7. 05 Jun, 2009 4 commits
  8. 04 Jun, 2009 2 commits
  9. 31 May, 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. 27 May, 2009 1 commit
  12. 25 May, 2009 5 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
      Generic function #'size replaces #'total-size for marrays · 938ae6d6
      Liam Healy authored
      Use #'size instead of #'total-size for marrays.
      938ae6d6
    • Liam Healy's avatar
      Generic function #'size · 453f3364
      Liam Healy authored
      A new generic function #'size replaces the old ordinary functions
      #'size (for Chebyshev) and #'combination-size, #'permutation-size,
      #'rng-size, and #'mfminimizer-size.
      453f3364
    • 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
  13. 24 May, 2009 1 commit
    • Liam Healy's avatar
      Individual named parameters for simulated annealing · 3af4fa78
      Liam Healy authored
      The parameters for simulated annealing
      n-tries iterations-fixed-T step-size k t-initial mu-t t-min
      are now passed as individual arguments to #'simulated-annealing, which
      assembles them into a list for simulated-annealing-int.
      3af4fa78
  14. 20 May, 2009 3 commits
    • Liam Healy's avatar
      Improved speed for simulated annealing example using declarations · 857d03bb
      Liam Healy authored
      Added type declarations for callbacks; this reduces execution time
      from 28 seconds to 24 seconds.
      857d03bb
    • 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
    • Liam Healy's avatar
      Simulated annealing functioning · 1bc6155e
      Liam Healy authored
      Simulated annealing now works.  The trivial example given in GSL
      source doc/examples/siman.c is coded up at the end of
      simulated-annealing.lisp.  Both versions produce the same
      answer,
           1.36313001299
      #<VECTOR-DOUBLE-FLOAT #(1.3631300129927695d0)>
      Note that the parameters for this example are slightly different than
      what is given in the manual; the manual version of the parameters are
      commented out in #'simulated-annealing-example.
      The Lisp version takes about 26.5 seconds, the C version about 0.85
      seconds.
      1bc6155e
  15. 18 May, 2009 1 commit
    • Liam Healy's avatar
      Simulated annealing state functions, example · f4892b96
      Liam Healy authored
      Created #'sa-state-value, #'make-sa-states, #'make-new-sa-state,
      #'copy-sa-state and use them in the callbacks.  Argument match between
      #'simulated-annealing and #'simulated-annealing-int.  Trivial example
      ported but fails in assigning parameter values when run.
      f4892b96
  16. 17 May, 2009 1 commit
  17. 12 May, 2009 1 commit
  18. 08 May, 2009 1 commit
  19. 06 May, 2009 1 commit
  20. 04 May, 2009 1 commit
  21. 03 May, 2009 6 commits
    • Liam Healy's avatar
      Complex functions · 149844bb
      Liam Healy authored
      Additional definition of functions of complex numbers and/or returning
      complex numbers.  Most of these duplicate functions that Lisp has
      already, so everything is defined with a "cx-" prefix.  No effort has
      been made to unify the interface; this requires some thought.  A fix
      has been made to body-expand; previously, it would not properly
      compile a function that returned a structure by value but didn't have
      structures by value as arguments.
      149844bb
    • Liam Healy's avatar
      Portable calls functions passing complex scalars with FSBV · da11ae0a
      Liam Healy authored
      Merge branch 'fsbv' that had integration of FSBV system into GSLL,
      which permits the portable calling of functions that call functions
      that pass or return structures by value.
      da11ae0a
    • 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
      Define fsbv:defcfun for efficiency · 8d2ef1de
      Liam Healy authored
      For FSBV calls, define fsbv:defcfun in the defmfun expansion, then in
      the fsbv:foreign-funcall, refer to the symbol function name rather
      than string function name.  This tells FSBV to use the prepared
      closure associated with that function by the fsbv:defcfun, meaning
      that the definitions in that lexical environment are reused.
      
      Fix conditionalization for #'conjugate-rank-1-update in blas2.lisp.
      
      Test results:
      SBCL 64 #+fsbv
      TOTAL: 1522 assertions passed, 5 failed, 0 execution errors.
      CCL 64 #+fsbv
      TOTAL: 1522 assertions passed, 5 failed, 0 execution errors.
      SBCL 64 #-fsbv
      TOTAL: 1502 assertions passed, 5 failed, 0 execution errors.
      CCL 64 #-fsbv
      TOTAL: 1502 assertions passed, 5 failed, 0 execution errors.
      8d2ef1de
    • 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
    • Liam Healy's avatar
      Call GSL functions with complex scalars · 0ca58836
      Liam Healy authored
      With improved fsbv:foreign-funcall that does the conversion of values
      between Lisp and C, the function foreign-funcall-indirect has been
      eliminated in favor of using fsbv:foreign-funcall directly.  Spot
      checks on various functions that use complex scalars like #'evaluate
      polynomials at a complex point, or set-all on complex marrays, or the
      functions in complex.lisp, show that these all work.  Everything
      compiles/loads and the usual tests pass in SBCL.
      0ca58836
  22. 30 Apr, 2009 1 commit