gsll:476d01ee3f0647e665ba376ccf61c784c413110d commitshttps://gitlab.common-lisp.net/antik/gsll/-/commits/476d01ee3f0647e665ba376ccf61c784c413110d2011-01-30T10:18:21-05:00https://gitlab.common-lisp.net/antik/gsll/-/commit/476d01ee3f0647e665ba376ccf61c784c413110dDefine gsll-tests as a system connection2011-01-30T10:18:21-05:00Liam M. Healylhealy@common-lisp.net
Define gsll-tests as a system connection, rather than a separate ASDF
system. This means that if lisp-unit and GSLL are loaded (in either
order), then the tests will automatically be available.https://gitlab.common-lisp.net/antik/gsll/-/commit/5fb9ef544933a64d3fac1626250cb6a33d40ee84Don't import 'grid:dimensions, use alexandria:make-keyword2011-01-11T19:17:08-05:00Liam M. Healylnp@healy.washington.dc.ushttps://gitlab.common-lisp.net/antik/gsll/-/commit/26271f7172476e98242eaffe50adc7ec69e4b71eMethods for arithmetic functions on foreign-arrays2011-01-01T11:31:40-05:00Liam M. Healylhealy@common-lisp.net
Depend on Antik instead of GSD. Add new methods for Antik functions
on foreign-arrays. This permits algebra-style computation on arrays,
e.g.,
(in-package :antik-user)
(setf grid:*default-grid-type* 'grid:foreign-array)
(expt (* (rotate-3d :z #_15_deg) (rotate-3d :z #_45_deg)) -1)
#m((0.5 0.8660254037844386 0.0) (-0.8660254037844385 0.5000000000000001 -0.0)
(0.0 0.0 1.0))
(rotate-3d :z #_-60_deg)
#m((0.5000000000000001 0.8660254037844386 0.0)
(-0.8660254037844386 0.5000000000000001 0.0) (0.0 0.0 1.0))https://gitlab.common-lisp.net/antik/gsll/-/commit/07cd1635621e9dfdfe43d9bad9f892dda7f38022Grovel file depends on init2010-08-13T11:40:05-04:00Liam M. Healylnp@healy.washington.dc.ushttps://gitlab.common-lisp.net/antik/gsll/-/commit/7b8c847de67020cab5367d0aa34bb22ac73d44caAdd dependencies on mathematical2010-08-09T22:27:04-04:00Liam Healyliam@thinkpad.localhttps://gitlab.common-lisp.net/antik/gsll/-/commit/22e43aff2d585cc069cae2dd914a1d6cafea2854No finalizers in faify-form (array callbacks); add dependencies2010-07-13T21:12:53-04:00Liam Healyliam@thinkpad.localhttps://gitlab.common-lisp.net/antik/gsll/-/commit/9925793685bfb45994e837e52017bebd8ffd8e73No dependence on cl-utilities any more2010-07-07T10:06:05-04:00Liam M. Healylnp@healy.washington.dc.ushttps://gitlab.common-lisp.net/antik/gsll/-/commit/ed0605dc62d82c6b4bba1d7f2ec05dc4bf178ce6Eliminate copy-to-destination for arrays, mvectors, matrices2010-07-06T22:35:22-04:00Liam Healyliam@thinkpad.local
Since the copy generic function has been established in grid,
eliminate copy-to-destination for arrays, mvectors, matrices.https://gitlab.common-lisp.net/antik/gsll/-/commit/eebc5a48b581b6a5f5f01851e855010676c64d51All compiles using foreign-array2010-06-29T21:49:10-04:00Liam Healyliam@thinkpad.local
All of GSLL now compiles using foreign-array; only the copy functions
have been commented out.https://gitlab.common-lisp.net/antik/gsll/-/commit/fa73ddde5c2c3e7babb388799c78f3fdf1b1060cCombinations working again with foreign-array2010-06-29T19:50:14-04:00Liam Healyliam@thinkpad.local
Combinations working again with foreign-array, and improved return
from combination-next and combination-previous. Return value from
#'success-failure is now T or NIL.https://gitlab.common-lisp.net/antik/gsll/-/commit/d6a0d87910a68f1f500f08d412d2c756ae9d3cb2Port permutation to foreign-array2010-06-28T22:03:11-04:00Liam Healyliam@thinkpad.localhttps://gitlab.common-lisp.net/antik/gsll/-/commit/27f4d8f13c71b6ec5bc0c9cc6bab1a6865479c5eRemove maref, substitute element type in make-marray2010-06-27T22:35:10-04:00Liam Healyliam@thinkpad.localhttps://gitlab.common-lisp.net/antik/gsll/-/commit/e5d0cfa7ae42310923f8ea71c0f86172e258d0e0Reorder block allocation, replace marray class2010-06-27T22:05:10-04:00Liam Healyliam@thinkpad.local
Set the contents of the block structure before using it in
alloc-from-block. Replace the 'marray class with 'foreign-array.
Quote foreign struct slots. Eliminate copy methods. Now simple
operations like 'vector-reverse work.https://gitlab.common-lisp.net/antik/gsll/-/commit/e5d36a1b05152b3a2f156cfe1d2d2f094a199f4cMass renames in grid and foreign-array systems2010-06-27T18:35:24-04:00Liam Healyliam@thinkpad.local
Package renamed to :grid from :c-array, function renamed to
'foreign-pointer from 'c-pointer. Eliminate reference to native.
Port make-marray-or-default to foreign-array.https://gitlab.common-lisp.net/antik/gsll/-/commit/076f93581b113331d02dd186486b6c80504661c7Better C floating point parsing; add dependency in gsll.asd2010-05-26T10:09:49-04:00Liam M. Healylnp@healy.washington.dc.ushttps://gitlab.common-lisp.net/antik/gsll/-/commit/0d487e0e55f0f9b524ca6beb4e3e97be9fd52044Use GSL tests for random distributions: tdist, laplace2010-04-18T00:39:04-04:00Liam Healyliam@thinkpad.local
Use GSL tests for random distributions. Port all tdist tests; some of
laplace.https://gitlab.common-lisp.net/antik/gsll/-/commit/4fef622be12cf318e015b2ba5aba6c63d4296f1eRemoved iterate extension; it is now in the grid system2010-02-07T17:00:56-05:00Liam Healyliam@thinkpad.localhttps://gitlab.common-lisp.net/antik/gsll/-/commit/47751fc5d49b612bd1d69fba5905d20455d8025eUpdate license info2010-01-01T12:26:11-05:00Liam Healyliam@thinkpad.localhttps://gitlab.common-lisp.net/antik/gsll/-/commit/23c118b2e0e57d45bb7553f6d98713924e38bd72Include copyright and license information2009-12-27T10:29:11-05:00Liam Healyliam@thinkpad.local
Add copyright and license information to each file, include a copy of
the GPL under documentation/COPYING.https://gitlab.common-lisp.net/antik/gsll/-/commit/c75e91d2ccc85d04fa7bbe71521e74fb54e097baRemove grid to the gsd/c-array repository2009-12-23T23:13:21-05:00Liam Healyliam@thinkpad.local
The grid subdirectory is now the c-array system within the GSD
repository, as it has no GSL-dependent definitions and is potentially
useful on its own for other C libraries. There is a bare minimum
mention of GSD in the documentation, which needs to be enhanced as it
is required for GSLL to compile/load.https://gitlab.common-lisp.net/antik/gsll/-/commit/0c0834e1bc70ba9318a0bd0bea16d049fa3dc429Define foreign-array as subclass of grid:grid2009-12-21T14:25:22-05:00Liam Healyliam@thinkpad.local
Define foreign-array as subclass of grid:grid with access to elements
through grid:gref.https://gitlab.common-lisp.net/antik/gsll/-/commit/06f99392e28ebe17f016244f509fcae27ede0b1eMove copy-to-destination to grid2009-12-21T10:33:31-05:00Liam Healyliam@thinkpad.local
The generic function definition for copy-to-destination is now in
grid/ and the c-array package. This will make it accessible to
non-GSLL foreign library interfaces, but the new location is a bit
deceptive because a new method needn't be a subclass of foreign-array.https://gitlab.common-lisp.net/antik/gsll/-/commit/f3a45c98055539360ece6e5865704655a9dc8d4fMoved some maref definitions to grid2009-12-21T10:01:33-05:00Liam Healyliam@thinkpad.local
Moved the defgeneric and methods for CL arrays and foreign-array for
cl-array, maref and (setf maref) to a new file
grid/element-reference.lisp. The old file data/maref.lisp remains
with the GSL pointer methods.https://gitlab.common-lisp.net/antik/gsll/-/commit/a9cf4a74fab252bd12a277e5ff64100c5a41b640Move foreign-array and foreign-friendly to grid2009-12-21T09:09:19-05:00Liam Healyliam@thinkpad.local
Continuing the separation of definitions useful for any libraries
using C arrays, foreign-array.lisp and foreign-friendly.lisp have been
moved to the grid subdirectory and placed in the c-array package.
All tests pass on SBCL 64,
TOTAL: 1627 assertions passed, 6 failed, 0 execution errors.https://gitlab.common-lisp.net/antik/gsll/-/commit/ce261d71f3ac90cf3e5f01b9c9e9c9aceba2189bMove symbol-type and number-conversion to grid2009-12-20T23:19:39-05:00Liam Healyliam@thinkpad.local
Move number-conversion.lisp from init/ to grid/ and symbol-type
portion of init/interface.lisp to grid/symbol-type.lisp.
All tests pass
TOTAL: 1627 assertions passed, 6 failed, 0 execution errors.https://gitlab.common-lisp.net/antik/gsll/-/commit/2317ccf007639252020edce131409fe350dd28adMoved element-types.lisp from init to grid2009-12-07T23:03:51-05:00Liam Healyliam@thinkpad.local
Continued separation of GSLL into two packages and eventually systems,
the definitions in element-types.lisp are now in the c-array package.https://gitlab.common-lisp.net/antik/gsll/-/commit/8d5cd4a5cc6f443224318eafbd5d257180a2667dSplit off grid directory2009-12-07T22:35:57-05:00Liam Healyliam@thinkpad.local
Eventually, the definitions used for dealing with types and foreign
arrays that aren't specific to GSL will be split off into another
system, so that it will be easier to build other foreign library
interfaces using these definitions. As a start, the grid/ directory
defines a package 'c-array and some of the type definitions formerly
in init/. Everything compiles and tests as before, on SBCL
TOTAL: 1627 assertions passed, 6 failed, 0 execution errors.https://gitlab.common-lisp.net/antik/gsll/-/commit/976eac7baeca4828bbcf5200f01d4b0637754d36Added some extra functions for use with FFTs2009-11-27T00:25:20+01:00Sumant Oemrawsinghsoemraws@xs4all.nl
fft-frequency-vector can be used to make a vector that contains the actual
sample frequencies (so you don't have to guess or write your own).
fft-shift and fft-inverse-shift shift the zero frequency to the center (for
easy plotting), and the inverse (for proper inverse FFT).
These functions are comparable to fftfreq, fftshift and ifftshift in numpy (if
anyone cares...).https://gitlab.common-lisp.net/antik/gsll/-/commit/af3cb9e65852bae73128765ca736ed2fc6bcf2f3Default wavetable/workspace; remove unused constant in GSL 1.13; fix dependency2009-11-09T16:44:55-05:00Liam M. Healylnp@healy.washington.dc.us
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.https://gitlab.common-lisp.net/antik/gsll/-/commit/e2771a1b1ef4c0934f402b97eb5b8ae7ec4c59c4GSL test test-real-radix2 create correct size real array2009-11-08T22:44:41-05:00Liam Healyliam@thinkpad.local
The real array for test-real-radix2 was being made twice as long as it
should have been; fixed. Also now load discrete.lisp in gsll.asd so
that the tests can be called.https://gitlab.common-lisp.net/antik/gsll/-/commit/ce3177addc4cfb9175afca642d064f189406d9e0Fast Fourier transform complete2009-11-07T11:01:04-05:00Liam Healyliam@thinkpad.local
The fast Fourier transform port now complete except for the tests.
The backward, inverse, and selectable direction transforms are now
unified in their respective files, a new file has been created for the
wavetable and workspace mobjects. The output of the example functions
looks plausible.https://gitlab.common-lisp.net/antik/gsll/-/commit/7192e225e2a209ee8d9de8c35746b634aece309eFFT Unpack2009-11-03T23:24:48-05:00Liam Healyliam@thinkpad.local
Function #'unpack will switch between the various unpacking generic
functions, depending on the specified unpack type and whether the
vector length is a power of 2. New file unpack.lisp has all the
unpacking functions.https://gitlab.common-lisp.net/antik/gsll/-/commit/b4f09c286dd0077238c1195bcf3b476ffa3dda82Unify forward FFT into new file and function2009-11-01T23:05:30-05:00Liam Healyliam@thinkpad.local
The function #'forward-fourier-transform selects among the 12 GSL
forward FFT functions, depending on whether the length of the vector
is a power of 2, whether the :half-complex flag is set, and the type
of the vector. This exported function, along with its supporting
internal functions, are in the file forward.lisp. The dimension
argument for fft-pulse-test is now mandatory. All mobjects have been
renamed so that they end with either -single-float or -double-float,
consistent with the naming scheme in the rest of GSLL. Eliminated
(evidently) obsolete example file fft-example.lisp.https://gitlab.common-lisp.net/antik/gsll/-/commit/dcc05d7fd50cf08deda3dbc389b024f9243f1e98Added attempt to clean FFT interface2009-11-01T04:28:57+01:00Sumant Oemrawsinghsoemraws@xs4all.nl
A hopefully nicer interface to the FFT functions are given, where the precise
FFT function is deduced from the supplied vector. While the interface is
nicer, the code is ugly, hacky and not fool proof yet. Cleanup required.https://gitlab.common-lisp.net/antik/gsll/-/commit/48f7e66a20c831649bd65a8712f2bdde4079104cSome clean-up of real/half-complex FFT2009-11-01T04:15:25+01:00Sumant Oemrawsinghsoemraws@xs4all.nl
Half-complex FFT functions were split off into their own file.
Wavetable and workspace names now have an fft- prepended to their name, for
clarity.https://gitlab.common-lisp.net/antik/gsll/-/commit/a4e52ac32dea8059b3a2296157e678b3802afbf5GSLL system now contains real FFTs and examples.2009-10-31T16:55:05+01:00Sumant Oemrawsinghsoemraws@xs4all.nlhttps://gitlab.common-lisp.net/antik/gsll/-/commit/1d49be888092865ba71eb5945d3df3bf1b4d1addTypo in gsll.asd fixed2009-10-31T14:32:31+01:00Sumant Oemrawsinghsoemraws@xs4all.nl
I screwed up the fft module in gsll.asd with a typo and forgot to test before
commit. This is now fixed.https://gitlab.common-lisp.net/antik/gsll/-/commit/e65992e2454fde38601a5c4eef15aa3773ef41bfReal FFTs have been added.2009-10-31T14:30:03+01:00Sumant Oemrawsinghsoemraws@xs4all.nl
All the real and "half-complex" FFT functions have been added. See GSL docs on
how a half-complex array works.
Some old obsolete comments from fft-complex.lisp were removed.
TODO: add tests and examples.https://gitlab.common-lisp.net/antik/gsll/-/commit/68d8dee78259c38202e4a349bd2ddbb6731f41b2Preliminary FFT functionality2009-10-25T13:17:51+01:00Sumant Oemrawsinghsoemraws@xs4all.nl
Only complex fast fourier transforms have been added. The radix-2 versions
have been tested and found to work. The decimation-in-frequency versions have
been added, but not tested. The mixed-radix versions only work for complex
double-float at the moment.https://gitlab.common-lisp.net/antik/gsll/-/commit/72eaac6da0ec2e33b9caa1e76559a43a7e4d6919Matrix generation for linear algebra tests2009-09-19T21:58:09-04:00Liam Healyliam@thinkpad.local
Matrices (and vectors) may be created from functions of the element
indices. This is needed to create the matrices used in testing the
linear algebra functions. It also can be of general use, especially
with further generalization. For now, there are no exported symbols
from these definitions.