1. 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
  2. 29 Nov, 2008 1 commit
    • Liam Healy's avatar
      Combinations are garbage-collected; restore floating-point and mathematical · 59f80be4
      Liam Healy authored
      Redefine #'alloc-gsl-struct as a generic function and define a method
      specifically for combinations.  Define #'native-pointer in
      defmfun.lisp with a new function #'native-pointer-protect made from
      its body left in data.lisp, so that now floating-point and
      mathematical can be compiled and loaded as defined in the asd file.
      Use :pointer for foreign argument types instead of gsl-vector-c.
      59f80be4
  3. 28 Nov, 2008 1 commit
    • Liam Healy's avatar
      Native arrays do not need wrapper · 9b1ed35d
      Liam Healy authored
      Native arrays are now completely dynamic, i.e., they are garbarge
      collected and there is no need for any kind of wrapper, because the
      with-pinned-objects is wrapped at the defmfun level.  Most tests pass
      on SBCL, but there are still a number that fail.  The GSL parts are
      always present; there is potentially unnecessary allocation of all
      GSL-required structs at creation time, which might merit some
      investigation for a more just-in-time creation procedure.  Potential
      problems on non-native implementations completely uninvestigated.
      9b1ed35d
  4. 23 Nov, 2008 1 commit
    • Liam Healy's avatar
      Finalizer in alloc-gsl-struct replaces free-gsl-struct · 87723ec1
      Liam Healy authored
      Using trivial-garbage to define a portable finalizer in
      #'alloc-gsl-struct.  Removed #'free-gsl-struct; #'expand-data no
      longer calls #'free-gsl-struct.  As in the old free-gsl-struct, the
      finalizer removes the gsl-vector-c or gsl-matrix-c, and the
      gsl-block-c if applicable.  Test results are the same (1 failure for
      unrelated reason).
      87723ec1
  5. 16 Nov, 2008 2 commits
    • Liam Healy's avatar
      Tests in separate system gsll-tests · f42d6f00
      Liam Healy authored
      Tests are now separated from examples and defined in a new system
      gsll-tests.  Change name of condition 'input-error from 'EDOM.
      f42d6f00
    • Liam Healy's avatar
      Removed dependence on FFA and iterate · c561b4d5
      Liam Healy authored
      By incorporating a few definitions modified from Tamas Papp's FFA
      directly into GSLL, there is no dependence anymore on FFA separately.
      With the conversion of a few definitions, the dependency on iterate
      has therefore been eliminated also.  This compiles without errors or
      warnings on SBCL.
      c561b4d5
  6. 22 Oct, 2008 1 commit
    • Liam Healy's avatar
      Save test forms with save-test; generate separate files with actual tests · 0fb0effc
      Liam Healy authored
      New function #'save-test saves test forms to a special, and nothing
      more.  Function #'write-test-to-file in generate-tests.lisp will write
      it to a file, which ought to be done rarely.  I have started the task
      of moving all test definitions to save-test, in the
      special-functions.  The files generated have been checked against the
      old definitions, but they have not been checked in yet.
      0fb0effc
  7. 14 Oct, 2008 1 commit
    • Liam Healy's avatar
      Test generation (including arrays) with save-tests · 6bb17e91
      Liam Healy authored
      New macro #'save-tests will put list of tests onto
      *all-generated-tests*.  The corresponding lisp-unit test can be
      generated with #'create-test.  The macro #'generate-all-array-tests
      now uses #'save-tests, so all tests defined that way will be put onto
      the lists.  All tests can be written to a file with
      #'write-tests-to-file, but this writes to a single file and I think I
      will want to write each test to a separate file so that it is easier
      to replace or augment one test without touching the others.  Two
      sections, Airy and Clausen, use these definitions.
      6bb17e91
  8. 01 Sep, 2008 1 commit
    • Liam Healy's avatar
      Updated documentation · 8d9ce4e8
      Liam Healy authored
      Updated the documentation to reflect changes in the new branch with
      foreign-friendly arrays.  This is now better reflective or the current
      definitions, but work needs to be done.  Added a dependency that was
      missing: matrix exponential needs special functions to define sf-mode.
      8d9ce4e8
  9. 31 Aug, 2008 2 commits
    • Liam Healy's avatar
      Port remainder of solve-minimize-fit to ffa · 1082a0f5
      Liam Healy authored
      Tests work and duplicate results from pre-ffa results.  This puts
      completes the initial phase of the ffa port.
      1082a0f5
    • Liam Healy's avatar
      Clean up several compilation problems · 134132bc
      Liam Healy authored
      Several bugs with small fixes, modifications to eliminate warnings:
      - Bad names for argument variables in maref fixed.
      - Add depenedencies in gsll.asd to avoid warnings.
      - Histogram needs #'assign-pointer function which was previously
        eliminated.
      - #'scale is a generic function, change defun to defmethod in
        histogram.
      - New #'variables-used-in-c-arguments replaces #'c-arguments in
        defmfun, now is a simplistic code walker but goes to arbitrary
        depth.  This will do for current uses of defmfun.
      - Export and defgenerics for #'alloc, #'free which are used by
        histogram and random.  In gsl-objects.lisp for lack of a better
        place.
      System now completely compiles from scratch with only one warning 
      "Implicitly creating new generic function BIND-GENERATE-BINDINGS."
      which is from metabang-bind.  No new testing.
      134132bc
  10. 29 Aug, 2008 1 commit
    • Liam Healy's avatar
      Complete #'maref and #'cl-array generic functions · 60551931
      Liam Healy authored
      Put maref and cl-array into a new file maref.lisp, each one has three
      methods (gsl-data, CL array, GSL pointer).  The pointer method for
      maref selects over all possible element types.  This compiles but is
      not tested.
      60551931
  11. 24 Aug, 2008 1 commit
    • Liam Healy's avatar
      Port to ffa · 217fea01
      Liam Healy authored
      Port new chapters to ffa.  Fix up BLAS.  Compiles; no testing.
      217fea01
  12. 22 Aug, 2008 2 commits
  13. 21 Aug, 2008 1 commit
  14. 17 Aug, 2008 2 commits
    • Liam Healy's avatar
      Histogram enabled ffa · ef8f5ab0
      Liam Healy authored
      Little actual ffa usage, just the port to 'sizet, method and use of
      #'mpointer in the histogram context.  It would be nice to be able to
      adapt defmfun to discriminating between 1d and 2d histograms rather
      than using histo-1d2d, but I will put that off for now.  This compiles
      but is not tested.
      ef8f5ab0
    • Liam Healy's avatar
      Random ported to ffa · 6698e65b
      Liam Healy authored
      The vector usage in random, plus a few sizet types, ported.  Not
      tested.
      6698e65b
  15. 16 Aug, 2008 1 commit
  16. 15 Aug, 2008 1 commit
    • Liam Healy's avatar
      Eigensystems port to ffa · 6f51bb7f
      Liam Healy authored
      Eigenvalues, eigenvectors ported to ffa, using generic functions to
      choose between real symmetrix and complex hermitian matrices.  The
      example has been tried and works.
      6f51bb7f
  17. 13 Aug, 2008 1 commit
    • Liam Healy's avatar
      Tri- and bi-diagonal linear systems ported to ffa · 383cfb06
      Liam Healy authored
      Uses generic functions to cover both symmetric and hermitian solutions
      for the tridiagonal functions that have both.  This necessitated
      modifying #'actual-gsl-function-name to allow explicit listing of the
      GSL functions by element type.
      383cfb06
  18. 12 Aug, 2008 1 commit
  19. 11 Aug, 2008 2 commits
    • Liam Healy's avatar
      QR port to ffa · 3ee9947c
      Liam Healy authored
      Port the QR decomposition to ffa.  Functions return the relevant
      quantity(ies).  Compiles but not tested.
      3ee9947c
    • Liam Healy's avatar
      LU decomposition ported to ffa · aa4aa130
      Liam Healy authored
      LU decomposition functions now support real and complex types, and the
      example has been tested and works:
      (invert-matrix
      	     (make-array* '(2 2) 'double-float :initial-contents '(1.0d0 2.0d0 3.0d0 4.0d0)))
      #2A((-1.9999999999999998d0 1.0d0)
          (1.4999999999999998d0 -0.49999999999999994d0))
      aa4aa130
  20. 10 Aug, 2008 2 commits
    • Liam Healy's avatar
      Exponential of a matrix · 4a3fb0c5
      Liam Healy authored
      Function #'matrix-exponential to compute the exponential of a matrix
      using the methods of Moler & Van Loan.  This function is undocumented
      in GSL but seems to work.
      4a3fb0c5
    • Liam Healy's avatar
      Port BLAS3 to ffa, with changes to BLAS2 · 2557a24b
      Liam Healy authored
      Port of all BLAS3 to ffa, which also means changing BLAS2 because
      common generic functions are used.  These compile but are not tested,
      and there are no regression tests/examples.
      2557a24b
  21. 07 Aug, 2008 1 commit
  22. 04 Aug, 2008 1 commit
    • Liam Healy's avatar
      BLAS1 completed (untested) · acdc5d17
      Liam Healy authored
      Change the generic specializer for scalars to :element-type (from
      :element-c-type), and restore BLAS1 to gsll.asd.
      acdc5d17
  23. 25 Jul, 2008 11 commits
  24. 18 Feb, 2008 1 commit