1. 26 May, 2011 1 commit
  2. 10 Jan, 2011 2 commits
  3. 19 Aug, 2010 1 commit
  4. 08 Aug, 2010 1 commit
    • 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
  5. 13 Jul, 2010 3 commits
    • Liam M. Healy's avatar
      Remove diagnostic printout · 42dfd182
      Liam M. Healy authored
      42dfd182
    • Liam M. Healy's avatar
      Arrays passed to and received from callbacks are foreign-arrays · 13703fa9
      Liam M. Healy authored
      Using the new function faify-form, pointers passed by GSL to callbacks
      are converted to foreign-array objects if scalarsp is nil.  This has
      been tested on multidimensional minimization only so far, and works.
      Note that this is potentially inefficient, as each time the callback
      is called, new objects are made and in the callback itself any grefs
      involve a generic function dispatch.  However, it is easier to write
      the callback than dealing with the raw pointer.
      13703fa9
    • Liam Healy's avatar
      Use get-value in callback generation · 336f1ceb
      Liam Healy authored
      The functions get-value and (setf get-value) are now used in
      #'reference-foreign-element for scalarsp.  They are also used as a
      demonstration for vector callbacks in minimization-multi, but perhaps
      a better interface could be constructed.
      336f1ceb
  6. 02 Jul, 2010 1 commit
  7. 01 Jul, 2010 1 commit
  8. 30 Jun, 2010 1 commit
  9. 27 Jun, 2010 2 commits
    • Liam Healy's avatar
      Mass renames in grid and foreign-array systems · e5d36a1b
      Liam Healy authored
      Package renamed to :grid from :c-array, function renamed to
      'foreign-pointer from 'c-pointer.  Eliminate reference to native.
      Port make-marray-or-default to foreign-array.
      e5d36a1b
    • Liam Healy's avatar
      New function #'make-foreign-array-from-gsl-pointer untested · 78b25a17
      Liam Healy authored
      New function #'make-foreign-array-from-gsl-pointer allows construction
      of a foreign-array with the appropriate metadata when given the
      mpointer.  It has not been tested.  Its main use will be in GSL
      routines that create their own GSL vector (or matrix); previously
      those were copied from the pointer, now they are just wrapped with the
      appropriate GSLL object.  File renamed to "foreign-array.lisp" from
      "marray.lisp".
      78b25a17
  10. 23 May, 2010 1 commit
    • 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
  11. 26 Apr, 2010 2 commits
  12. 10 Apr, 2010 1 commit
    • Liam Healy's avatar
      Use CL RNG object, and not the foreign pointer in simulated annealing · 49cb0c32
      Liam Healy authored
      Jame Wright pointed out that the function trivial-example-step tried
      to apply the function #'sample to what turns out to be a foreign
      pointer, but it should take a CL object.  This is because we are
      making a random number generator, passing the foreign pointer to GSL,
      and then it is passing that pointer back to our routines so that we
      can use it in the step function.  This has been changed so that there
      is a special variable cl-generator which is bound to the CL object in
      #'simulated-annealing, and then used in the step function, while the
      foreign pointer being returned to us is ignored.
      49cb0c32
  13. 05 Apr, 2010 1 commit
  14. 17 Jan, 2010 1 commit
  15. 27 Dec, 2009 1 commit
  16. 21 Dec, 2009 1 commit
    • 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
  17. 25 Aug, 2009 1 commit
    • Liam Healy's avatar
      Added tests of minimization-one setting with values · 13447017
      Liam Healy authored
      Two new tests of minimization-one setting values have been added,
      duplicating the test which do not set values.  Patch by Evgeniy
      Zhemchugov.
      SBCL 64:
      TOTAL: 1525 assertions passed, 5 failed, 0 execution errors.
      13447017
  18. 24 Aug, 2009 1 commit
    • Liam Healy's avatar
      Multiple foreign functions in the reinitialize-instance for mobjects · 9990ee06
      Liam Healy authored
      It is now possible to specify two foreign functions for the
      reinitialize-instance for defmobject.  The switch between the function
      depends on the presence or absence of optional/key arguments.  This is
      used in the definition of one-dimensional-minimizer to switch between
      gsl_min_fminimizer_set and gsl_min_fminimizer_set_with_values
      depending on the non-NIL value of f-minimum.  The set-with-values case
      has not yet been tested.
      9990ee06
  19. 23 Aug, 2009 2 commits
    • Liam Healy's avatar
      Fix order of arguments in set-fminimizer-with-values · 45387336
      Liam Healy authored
      Argument order in call to "gsl_min_fminimizer_set_with_values" in
      set-fminimizer-with-values now correctly matches stated order in
      /usr/include/gsl/gsl_min.h.  Patch from Evgeniy Zhemchugov.
      45387336
    • 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. 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
  21. 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
  22. 25 May, 2009 2 commits
  23. 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
  24. 20 May, 2009 2 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
  25. 27 Apr, 2009 1 commit
    • 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
  26. 05 Apr, 2009 1 commit
    • Liam Healy's avatar
      Standardized names of GSL function structs · eb1420b4
      Liam Healy authored
      All defcstruct definitions for functions are in the new file
      init/callback-struct.lisp.  They all have standard name format
      beginning with "fnstruct" and have been consolidated where there were
      redundant definitions.
      eb1420b4
  27. 29 Mar, 2009 2 commits
    • Liam Healy's avatar
      Most mobject-based callbacks ported to funcallables · 1349c73a
      Liam Healy authored
      All mobject-based callbacks now use the funcallable mechanism, except
      ODE, which has been ported but fails to compile.  All other tests
      pass.  In the event of some or all arguments are scalars and not
      arrays, #'array-element-refs will return just the argument symbol.  To
      avoid double quoting the function name when calling the object maker,
      let bind 'function-designator in #'make-funcallable-form which does
      the quoting.
      1349c73a
    • Liam Healy's avatar
      Incorporation of make-funcallable into callback call chain · 09ce32be
      Liam Healy authored
      The callback call chain (for mobjects at the moment) now calls
      make-funcallable when the mobject is made.  The :callbacks format is
      slightly different in that :slug is required.  The derivative-free
      minimization-multi example works, but requires a double quote on the
      function name, which should be fixed.  The runtime-called function
      #'call-maybe-scalar and its supporting definitions have been removed,
      in anticipation of all callbacks using make-funcallable.
      09ce32be
  28. 23 Mar, 2009 2 commits
    • Liam Healy's avatar
      New errno code interpretation and gsl-condition definitions · d3d82a26
      Liam Healy authored
      Make a defconstant on earmuffed symbols of cffi:defcenum gsl-errorno,
      e.g. +continue+, +failure+, +success+, etc., and use those in
      define-gsl-condition forms in condition.lisp.  Remove the symbol macro
      definition of 'success.  Define a condition 'unspecified-errno in case
      an error code is processed that isn't in the list.  Redefine
      #'success-failure to true if either +success+ or +continue+, from
      non-negative.  
      
      In roots-multi, fixed error in multiroot-test-residual return for, and
      changed roots-multi-example-no-derivative to insure the loop is
      executed at least once so that fnval and argval are always bound
      before exiting.
      d3d82a26
    • Liam Healy's avatar
      Dynamic callbacks for nonlinear-least-squares · 26e3b36e
      Liam Healy authored
      Dynamic callbacks now operational for nonlinear-least-squares, test
      passes.  Callback struct slot name(s) and value(s) now properly set in
      pure function calls, even though this only affects Monte Carlo, which
      doesn't care whether the dimension is set or not.  The first optional
      argument to the mobject maker generated by #'mobject-maker can now
      have a default value, and the settingp will be added correctly.
      26e3b36e
  29. 22 Mar, 2009 1 commit
    • Liam Healy's avatar
      Third element of :callbacks is list of dimension names · cd435bbf
      Liam Healy authored
      Previously, the dimension-names always defaulted.  Changed all
      relevant definitions so that third element of :callbacks is a list of
      the dimension names, which must be explicitly specified.  All the
      expected tests pass on recompilation.
      cd435bbf
  30. 21 Mar, 2009 1 commit
    • Liam Healy's avatar
      Dynamic callbacks for minimization-multi · 214d5642
      Liam Healy authored
      Argument 'scalarsp added at end of optional arguments to mobject
      maker; it is then passed to reinitialize-instance.  Even though it is
      not specified as an argument there, it is accepted to set the slot of
      that name.  Ported minimization-multi to dynamic callbacks; examples
      all work.  Linear least squares re-enabled in gsll.asd; no changes.
      214d5642