1. 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
  2. 21 Jan, 2009 1 commit
  3. 19 Jan, 2009 1 commit
    • Liam Healy's avatar
      Redefine defmcallback to provide and accept scalars from CL functions · c83788ed
      Liam Healy authored
      New definition for defmcallback will now convert C array pointers
      passed to the function by GSL into individual scalar arguments of the
      CL function, and will take multiple value returns and assign as
      elements of the return C arrays.  Applied to def-ode-functions and the
      van der Pol oscillator example.  Redefined #'maref-function-picker as
      a macro from a function, eliminating the need for an eval-when form.
      c83788ed
  4. 22 Aug, 2008 1 commit
  5. 25 Jul, 2008 1 commit
  6. 18 Feb, 2008 1 commit
  7. 29 Jan, 2008 1 commit
  8. 21 Jan, 2008 1 commit
  9. 16 Jan, 2008 1 commit
  10. 06 Jan, 2008 1 commit
  11. 01 Oct, 2007 1 commit
  12. 30 Sep, 2007 1 commit
  13. 25 Sep, 2007 3 commits
  14. 16 Sep, 2007 1 commit