1. 25 Jan, 2011 1 commit
  2. 03 Oct, 2010 1 commit
  3. 23 Aug, 2010 1 commit
    • Liam Healy's avatar
      Fix FFT to actually do something, but comment out because of failures · b7859a14
      Liam Healy authored
      The FFT tests were testing nothing of consequence, just that NIL was
      equal to NIL, because it was looking at the result of (reset-urand)
      and then three non-existent multiple values.  This is now fixed, so
      that fft-*-result-check actually binds the results of the
      calculations.  Also, single-float tests are referenced to
      +sgl-epsilon+ and not +dbl-epsilon+.  However, for
      (all-fft-test-forms 9 3 (64 99)), many tests fail:
      FAST-FOURIER-TRANSFORM: 235 assertions passed, 55 failed.
      so the tests are commented out.
      b7859a14
  4. 14 Aug, 2010 1 commit
    • Liam Healy's avatar
      Add FFT tests · bc4d0b9a
      Liam Healy authored
      Add FFT tests; these are a subset of the GSL tests.  For some reason
      the tests take a lot longer in GSLL, so instead of testing all sizes
      1...99, we test only 1...9 and then 64 and 99 for stride 1 only.
      bc4d0b9a
  5. 07 Jul, 2010 2 commits
  6. 22 May, 2010 2 commits
    • Liam Healy's avatar
      Added tests from GSL for more random distributions · a5476401
      Liam Healy authored
      Added chi-squared (which was not loaded at all), exponential,
      exponential-power, fdist, gamma-randist, tdist.  Introduced new macros
      assert-posinf and assert-neginf to check for expected infinite
      results.  Improved the automatic test converter and noted its known
      failings.
      a5476401
    • Liam Healy's avatar
      New macro assert-to-tolerance and constants defining tolerances · 039d1089
      Liam Healy authored
      Introduced a new macro #'assert-to-tolerance to be used in
      lisp-unit:define-test forms that takes three arguments: form
      expected-value tolerance.  This replaces test-tol6 that was defined in
      tdist.lisp.  Defined the tolerance constants +test-tol6+ the exact
      same way as GSL, but grovelling machine.h where GSL_DBL_EPSILON is
      defined.
      039d1089
  7. 01 Jan, 2010 1 commit
  8. 27 Dec, 2009 1 commit
  9. 09 Nov, 2009 1 commit
    • Liam M. Healy's avatar
      Default wavetable/workspace; remove unused constant in GSL 1.13; fix dependency · af3cb9e6
      Liam M. Healy authored
      In FFT, the default wavetable and workspace arguments to functions now
      all use #'make-fft-wavetable and make-fft-workspace.  Removed
      definition of +cgsm-gauss+ because evidently GSL_CONST_CGSM_GAUSS is
      no longer in GSL as of 1.13.  Added dependency on init for
      physical-consants.  Trivial change to names of systems in asd files to
      be more standard.
      af3cb9e6
  10. 26 Sep, 2009 2 commits
    • Liam Healy's avatar
      QRPT: add tests, make arguments optional, fix bugs · a42b3a3a
      Liam Healy authored
      Added the translated GSL tests to the linear algebra for QR
      decomposition with column pivoting.  More arguments corresponding to
      values returned by the functions are now optional.  Fixed the order of
      return values from QRPT-decomposition so that permutation is before
      signum.  Fixed argument lists to QRPT-QRsolve.
      a42b3a3a
    • Liam Healy's avatar
      Cholesky: add tests; return argument for matrix-product · bcb8e0b5
      Liam Healy authored
      Added eight tests from GSL's test for Cholesky decomposition and
      solving.  The four decomposition tests incorrectly produce zero in
      CCL.  The first optional argument in matrix-product and
      matrix-product-symmetric can now be nil, to indicate a matrix of the
      right dimensions should be constructed.  This is the default; the
      default previously was to make that matrix directly, which meant if
      any other optional arguments were supplied, the complicated default
      construction for the return matrix would have to be re-entered.
      bcb8e0b5
  11. 25 Sep, 2009 1 commit
  12. 21 Sep, 2009 1 commit
    • Liam Healy's avatar
      QR: More optional arguments, add tests form GSL · 44b9d868
      Liam Healy authored
      Changed required to optional arguments for several of the QR linear
      algebra functions, for returned quantities.  45 new tests added for QR
      that are translated from GSL's tests.  Matrices and solutions that are
      used by more than one of the linear algebra techniques are defined in
      matrix-generation.lisp.
      44b9d868
  13. 18 Sep, 2009 1 commit
    • Liam Healy's avatar
      SVD: More optional arguments, add tests · 03ad93e0
      Liam Healy authored
      For the singular value decomposition functions, make the S vector and
      V matrix optional arguments, as they are quantities returned by the
      functions.  Add tests translated from the GSL tests.
      03ad93e0
  14. 27 Aug, 2009 1 commit
  15. 03 May, 2009 1 commit
    • Liam Healy's avatar
      Conditionalize FSBV · 8a08f552
      Liam Healy authored
      All source code is now conditionalized so that FSBV is optional.  If
      present, functions using complex scalars will work.  If absent, GSLL
      will compile and load correctly, and all functions except those using
      complex scalars will work.  The examples and tests are defined
      appropriately.  Documentation on FSBV dependence has been added to
      index.html.
      8a08f552
  16. 30 Apr, 2009 1 commit
    • Liam Healy's avatar
      Use FSBV for functions taking complex scalars · 913040d8
      Liam Healy authored
      The BLAS matrix-product functions now work on complex arrays using
      FSBV, but there are no tests yet.  New tests vector-set-all and
      matrix-set-all replace set-all tests with addition, and work for all
      types including complex using FSBV.  Default optional argument marrays
      are initialized to 0.  Polynomial evaluation with complex argument
      uncommented, but not yet working.
      913040d8
  17. 16 Apr, 2009 1 commit
    • Liam Healy's avatar
      Tests marrays directly · 64a0b6c2
      Liam Healy authored
      Thanks to Malcolm Reynolds and Tom Hermann, lisp-unit:numerical-equal
      is now a generic function, so in the new file test-unit/augment.lisp,
      a method has been defined to work on marrays.  This now permits the
      direct comparison in tests of marrays, rather than looking at their CL
      equivalent with cl-array.  So far the only test changed is
      vector-add.
      64a0b6c2
  18. 15 Mar, 2009 1 commit
    • Liam Healy's avatar
      Non-square matrix multiplication; marking cl-invalid · b009f3e6
      Liam Healy authored
      Fixed a problem in #'matrix-product-dimensions reported by 
      Norman Werner that prevented taking the product of non-square
      matrices, and added a test to check for the multiplication for all
      four element types supported.  This revealed a problem in non-native
      marray initialization (found in CCL) which has been fixed by marking
      foreign-arrays :cl-invalid when neither :initial-contents nor
      :initial-element have been specified.
      SBCL 64: TOTAL: 1449 assertions passed, 7 failed, 0 execution errors.
      CCL64: TOTAL: 1450 assertions passed, 6 failed, 0 execution errors.
      b009f3e6
  19. 11 Mar, 2009 1 commit
    • Liam Healy's avatar
      Split off lisp-unit to its own system · d8805155
      Liam Healy authored
      The unit/regression test lisp-unit has been split off into its own
      system.  This includes the extensions made to it for GSLL, as modified
      by Thomas Hermann.
      d8805155
  20. 08 Mar, 2009 1 commit
    • Liam Healy's avatar
      Use tmh's lisp-unit definitions instead of old · f1dfef7b
      Liam Healy authored
      Incorporated tmh's lisp-unit definitions he posted to
      http://paste.lisp.org/display/76579 in preference to the former
      definitions in additional-definitions.lisp.  He took some of those
      ideas and incorporated them with his own.  This produces some
      mysterious errors not seen before when run on both SBCL and CCL
      (different errors for each).
      
      The plan is to spin off lisp-unit as a separate system which will just
      be loaded by gsll-tests.
      f1dfef7b
  21. 24 Feb, 2009 1 commit
    • Liam Healy's avatar
      Added tests for the discrete Hankel transform · 41ce0cf2
      Liam Healy authored
      Added tests from the GSL test suite for the discrete Hankel transform
      in dht/test.c translated into Lisp. They all check; GSL's testing
      routines allow for varying accuracy and they relax this (in some cases
      considerably) when known how inaccurate the result could be.
      41ce0cf2
  22. 17 Feb, 2009 1 commit
    • Liam Healy's avatar
      GSL features added in version 1.10 · 94413b43
      Liam Healy authored
      Functions added to GSL with version 1.10, and related changes: 
      - Cholesky routines for complex matrices; Cholesky functions _solve and
      _svx (solution separate and in-place) now combined into a single
      generic function with an optional argument #'cholesky-solve.
      Unfortunately a default marray maker can't be included in the optional
      argument.
       - Correlation added, and covariance and correlation tests expanded to
      all supported matrix element types.
       - Added #'exponential-integral-En for nth-order exponential integral.
       - Also rewrote #'callback-set-slots and #'body-expand to eliminate
      gratuitous (progn nil ...) in some defmfun expansions.
      Test results:
      SBCL 64: TOTAL: 1379 assertions passed, 5 failed, 0 execution errors.
      CCL 64: TOTAL: 1380 assertions passed, 4 failed, 0 execution errors.
      94413b43
  23. 16 Feb, 2009 1 commit
  24. 12 Feb, 2009 1 commit
    • Liam Healy's avatar
      Copy to and from CL arrays · 6a685571
      Liam Healy authored
      The function #'copy will now copy contents between marrays and CL
      arrays.  The destination array can be supplied literally, or created
      by this function by specifying the desired type: when copying from a
      marray to a CL array, specify 'array; when copying from a CL array to
      a marray, specify the element type of the marray.  For example,
      (COPY
         (COPY
          (MAKE-MARRAY '(COMPLEX DOUBLE-FLOAT) :INITIAL-CONTENTS
                       '((-34.5 8.24 3.29 -8.93 34.12 -6.15)
                         (-8.93 34.12 -6.15 49.27 -13.49 32.5)
                         (49.27 -13.49 32.5 42.73 -17.24 43.31)))
          'ARRAY)
         '(COMPLEX DOUBLE-FLOAT))
      copies from the matrix-complex-double-float made in the make-marray
      form to a CL array, then copies the contents to a new
      matrix-complex-double-float.
      6a685571
  25. 29 Jan, 2009 1 commit
    • Liam Healy's avatar
      Generic functions, fix interpolation · 04f30601
      Liam Healy authored
      Turned many functions, particularly those having to do with
      interpolation, into generic functions and methods, and thus renamed
      them and changed their arglists.  Added test for basis spline; it
      works in SBCL but does not in CCL.
      04f30601
  26. 27 Jan, 2009 1 commit
    • Liam Healy's avatar
      Interpolation fixes · 078abffa
      Liam Healy authored
      Placed missing #'mpointer calls, added :input declarations in
      defmfuns.  Fixed #'spline-example to work correctly with marrays, and
      added a test.
      078abffa
  27. 23 Jan, 2009 1 commit
    • Liam Healy's avatar
      Minimization will take scalar functions, added tests, optional printing · 78b88074
      Liam Healy authored
      The minimization functions may now take and return scalars or marrays.
      The examples take optional arguments with the solver method and
      whether to print the steps.  They are now part of the #'examples and
      test suite.  Use maref instead of cl-array in
      #'roots-multi-example-no-derivative.  Add optional solver method to
      roots one and roots multi, and add tests for all solvers.
      78b88074
  28. 22 Jan, 2009 1 commit
  29. 20 Jan, 2009 1 commit
    • Liam Healy's avatar
      Least squares added to tests, make arguments optional · f755beaf
      Liam Healy authored
      Coverted required args to optional args defmfun weighted-linear-mfit
      and replaced 'parameters with 'parameters-or-size.  Added print-steps
      options for several more examples, and put the newline at the end of
      the format string.  Added tests; CCL 64 bit now fails one of the
      linear least squares (returns zeros) and the nonlinear least squares
      (good to 6 or so significant figures).
      SBCL 64: TOTAL: 1231 assertions passed, 5 failed, 0 execution errors.
      CCL 64: TOTAL: 1234 assertions passed, 2 failed, 0 execution errors.
      f755beaf
  30. 19 Jan, 2009 2 commits
    • Liam Healy's avatar
      More callbacks take and return scalars · f15ffdda
      Liam Healy authored
      More usage of callbacks using or computing multiple quantities
      now do so on scalars because the macros in GSLL pull out the
      individual elements of foreign arrays, and accept multiple values and
      put them into the right foreign arrays.  In roots-multi,
      #'multiroot-slot takes a mobject and extracts the mpointer before
      calling the foreign slot value.  Several examples in
      solve-minimize-fit now have optional 'print-steps argument.  These
      examples are now the basis for additional tests.
      f15ffdda
    • 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
  31. 04 Jan, 2009 1 commit
    • Liam Healy's avatar
      Elementwise array operations named "elt" · 4bfa337d
      Liam Healy authored
      GSL functions that operate from one corresponding array elements and
      then overwrite the first array, as well as those that operate on each
      element of an array with a scalar, are now named starting with "elt",
      as in "elt+"; formerely they started with "m".  This is to reinforce
      the idea that they are not generally a mathematical solution to
      algebraic problems, just elementwise operations.  The scalar
      operations (addition, multiplication) are methods of elt+ and elt* as
      well. Test results 64 bit:
      SBCL: TOTAL: 1223 assertions passed, 5 failed, 0 execution errors.
      CCL: TOTAL: 1228 assertions passed, 0 failed, 0 execution errors.
      4bfa337d
  32. 01 Jan, 2009 1 commit
    • Liam Healy's avatar
      No 64 bit integers on 32 bit platforms · c057c7f3
      Liam Healy authored
      Both CLISP and SBCL fail when making arrays of 64 bit integers,
      despite cffi-features:no-long-long being absent for either.
      Therefore, conditionalize away these types in *array-element-types* on
      32 bit platforms in general, and conditionalize away all the 64 bit
      tests as well.  Separated out integer size check into types.lisp.
      Restored tests vector-min and vector-max which fail in SBCL for
      (signed-integer 8) and (signed-integer 16) for unknown reasons. 
      Test results:
      64 bit SBCL:   TOTAL: 1223 assertions passed, 5 failed, 0 execution errors.
      64 bit CCL:    TOTAL: 1228 assertions passed, 0 failed, 0 execution errors.
      32 bit SBCL:   TOTAL: 1069 assertions passed, 31 failed, 0 execution errors.
      32 bit CLISP:  TOTAL: 1051 assertions passed, 27 failed, 5 execution errors.
      c057c7f3
  33. 16 Nov, 2008 1 commit