1. 31 Dec, 2008 2 commits
    • Liam Healy's avatar
      Redesign polynomial-solve, invert matrix · 4f581352
      Liam Healy authored
      The function #'polynomial-solve is now directly defined with defmfun
      with a single required argument and two optional arguments: the answer
      vector-complex-double-float and the workspace, both of which default
      to the right thing.  The returned is now the this marray instead of a
      list.  Simplify the definition of #'invert-matrix and return the
      matrix-double-float instead of the CL array.  All tests pass SBCL and
      CCL with trace.
      4f581352
    • 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
  2. 27 Dec, 2008 1 commit
    • Liam Healy's avatar
      Set mpointer vlaue, show relevant .h file; non-int return for reinitialize-instance · 8a0ac730
      Liam Healy authored
      In defmobject, set the mpointer value if #'allocate is being called.
      For each file that defines a defmobject, I put a comment at the top
      showing the relevant GSL header file.  For generators and quasi, the
      (re)initializing function returns void and not an :int, so that is
      changed in the defmobject definition, which now permits a list of two
      elements in initialize-suffix, with the second element indicating the
      :c-return.
      8a0ac730
  3. 26 Dec, 2008 3 commits
    • Liam Healy's avatar
      Calling mobjects with #'mpointer, generic function #'name · 297c08b2
      Liam Healy authored
      GSL functions that take GSL objects as arguments must have #'mpointer
      called on each argument.  Created a generic function #'name and
      changed all the *-name (or name-*) functions that acted on mobjects to
      this function.
      297c08b2
    • 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
  4. 25 Dec, 2008 1 commit
  5. 07 Dec, 2008 1 commit
    • Liam Healy's avatar
      Make FFA at initialize-instance time for gsl-data; restore permutations and combinations · 4c380808
      Liam Healy authored
      Instead of making the ffa in make-array*, we now make it in the
      initialize-instance :after method for gsl-data.  This means that
      subclasses (permutations, combinations) will automatically make the
      arrays.  Rewrote make-array* so that it is just a wrapper for
      make-instance, computing the dimensions from the specified initial
      parameters.  Permutations and combinations are now made with make-*
      functions.
      4c380808
  6. 01 Dec, 2008 1 commit
    • 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
  7. 25 Oct, 2008 1 commit
    • 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
  8. 15 Sep, 2008 1 commit
    • Liam Healy's avatar
      Restore some tests · fe339ae4
      Liam Healy authored
      Multiple fixes to restore tests: change to #'cl-array from #'data, use
      #'a macro, comment out a few tests do defer repair until later.  Two
      errors in definitions of functions in
      histogram/updating-accessing.lisp fixed.  Some uncommented-out test
      failures remain.
      fe339ae4
  9. 25 Jul, 2008 4 commits
  10. 24 Feb, 2008 1 commit
  11. 18 Feb, 2008 1 commit
  12. 16 Feb, 2008 1 commit
  13. 06 Feb, 2008 1 commit
  14. 04 Feb, 2008 1 commit
  15. 03 Feb, 2008 2 commits
  16. 27 Jan, 2008 1 commit
  17. 28 Jan, 2007 1 commit
  18. 08 Jul, 2006 1 commit
  19. 14 Jun, 2006 1 commit
  20. 12 Jun, 2006 1 commit
  21. 08 Jun, 2006 2 commits
  22. 30 May, 2006 1 commit
  23. 29 Apr, 2006 1 commit
    • liam's avatar
      Allow arbitrary CL function arglist in defun-gsl with :function · 1ab6ee5a
      liam authored
      argument, like :method argument.  The arguments to the GSL function
      can be mapped arbitrarily, and different pieces like the size of a
      vector (with new function #'dim0) or the pointer #'gsl-array can be
      put in the correct place in the arglist explicitly.  Thus I can
      simplify #'splice-arguments and eliminate the hackish automatic
      insertion of the vector dimension after (or maybe before) when
      declared (:double *).  Ported all half-dozen or so uses to the new
      form.  Add :after cl-invalidate where needed.
      
      
      
      git-svn-id: svn+ssh://pop/opt/space/mathematics/gsl/trunk@3054 a3d8a0fb-c1db-0310-ace7-a616afeb9e30
      1ab6ee5a
  24. 22 Apr, 2006 1 commit
  25. 21 Apr, 2006 1 commit
    • liam's avatar
      Bind named vector dimension in defun-gsl expansion so that e.g. · 94651b3d
      liam authored
      (defun-gsl polynomial-solve-ws
          ((coefficients (:double n)) (workspace poly-complex-workspace))
        "gsl_poly_complex_solve"
        :return ((gsl-complex (1- n))))
      expands to
      (DEFUNX-MAP POLYNOMIAL-SOLVE-WS
                  "gsl_poly_complex_solve"
                  (COEFFICIENTS WORKSPACE)
                  (LET ((N (FIRST (STORAGE-SIZE COEFFICIENTS))))
                    (WITH-FOREIGN-OBJECTS ((#:RET4113 'GSL-COMPLEX (1- N)))
      	... )))
      This currently works only for a vector; no accomodation is made for
      matrices. 
      
      
      git-svn-id: svn+ssh://pop/opt/space/mathematics/gsl/trunk@3043 a3d8a0fb-c1db-0310-ace7-a616afeb9e30
      94651b3d
  26. 20 Apr, 2006 1 commit
  27. 19 Apr, 2006 1 commit
  28. 26 Mar, 2006 3 commits
  29. 24 Mar, 2006 1 commit
  30. 23 Mar, 2006 1 commit