1. 17 Aug, 2008 6 commits
    • Liam Healy's avatar
      Introduce #'body-optional-arg and #'body-no-optional-arg · cd52a733
      Liam Healy authored
      Introduce #'body-optional-arg and #'body-no-optional-arg (formerly
      functions and the second specifies whether to map down on the C
      argument list on order to find all variables that are used.  All of
      GSLL compiles.
    • Liam Healy's avatar
      Merge and clean up the changes to defmfun · e098af31
      Liam Healy authored
      Merge and clean up the changes to defmfun.
    • Liam Healy's avatar
      New function #'complete-definition · dfda5c5b
      Liam Healy authored
      New function #'complete-definition is for putting together an entire
      definition with arglist, declaration, and body, such as defun,
      defmethod, or :method.  The old (misleadingly-named)
      #'expand-defmfun-plain has been removed.  Removed possibility of
      definition &aux variables with :global; it was used only once and
      easily replaced.
    • Liam Healy's avatar
      New function #'expand-defmfun-body · 296feb06
      Liam Healy authored
      Extract new function #'expand-defmfun-body from
      #'expand-defmfun-plain, then define the latter in terms of the former,
      with the idea that it will be easier to define other forms (defmethod,
      :method by calling this new function separately.  GSLL compiles with
      the new function.
    • 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.
    • Liam Healy's avatar
      Random ported to ffa · 6698e65b
      Liam Healy authored
      The vector usage in random, plus a few sizet types, ported.  Not
  2. 16 Aug, 2008 1 commit
  3. 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.
  4. 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.
  5. 12 Aug, 2008 1 commit
  6. 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.
    • 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:
      	     (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))
  7. 10 Aug, 2008 3 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.
    • Liam Healy's avatar
      Explicit precision specification modes · 6f90daf7
      Liam Healy authored
      The GSL precision mode used mainly in special functions is now
      explicitly given in the CL argument list; remove special treatment of
      :mode in C argument list of defmfun call, which meddled with the CL
      arglist.  Changed sf-mode options to :double, :single, :approx.
    • 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.
  8. 09 Aug, 2008 2 commits
  9. 08 Aug, 2008 1 commit
    • Liam Healy's avatar
      Allow optional arguments to generic defmfuns · bc22f75c
      Liam Healy authored
      Optional arguments may be included in generic functions defined
      through defmfun.  If the default values are numerical, they will be
      coerced to the appropriate element type.  Declare ignore unused
      variables.  Use #'arglist-plain-and-categories in
  10. 07 Aug, 2008 1 commit
  11. 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.
  12. 03 Aug, 2008 1 commit
    • Liam Healy's avatar
      BLAS1 Givens rotations · bf94e20d
      Liam Healy authored
      Givens rotations ported; they compile but are not tested.  The
      "modified" Givens rotations are not explained in the GSL
      documentation, so I have "not explained" for the documentation.
  13. 02 Aug, 2008 1 commit
    • Liam Healy's avatar
      BLAS1 function #'scale with real or complex scalar · d5c1871f
      Liam Healy authored
      There are two BLAS1 functions "gsl_blas_csscal" and "gsl_blas_zdscal"
      that scale complex vectors with a real scalar alpha.  In order to
      distinguish a call to #'scale between these and the equivalent
      functions gsl_blas_cscal and gsl_blas_zscal that take complex scalars,
      it is necessary to specialize on the scalar class (float or complex).
      Modified defmfun so that the pseudo-classes :component-float-type and
      :element-c-type are recognized and the appropriate substitution is
      made.  Compiled without errors or warnings but not tested.
  14. 25 Jul, 2008 18 commits