- 08 Dec, 2009 1 commit
-
-
Liam Healy authored
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.
-
- 19 Jan, 2009 1 commit
-
-
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.
-
- 12 Jan, 2009 1 commit
-
-
Liam Healy authored
Combination #'copy-to-destination had permutation instead of combination. Only :compile-toplevel in eval-when for maref-function-picker to prevent warning messages. Non-symmetric eigenvalues-eiegenvectors-nonsymm now return both eigenvalues and eigenvectors; this function evidently doesn't support set-parameters-nonsymmetric so that has been removed.
-
- 29 Dec, 2008 1 commit
-
-
Liam Healy authored
Made the generic function #'contents-from-pointer that takes a pointer to a GSL struct and produces a list of the contents suitable for the :initial-contents argument to #'make-marray. Added an argument :from-pointer to #'make-marray that then creates a new marray with the same contents. Some functions in solve-minimize-fit return a pointer to a GSL vector with double-floats. Copying in this way is necessary because GSL has malloced the data in a non-CL place. Sometimes, this results in the copying of data whose only further use will be to extract a pointer to pass to another GSL function. Added a method to #'mpointer that permits directly passing a pointer, but this isn't useful for arrays because there are many element types so the functions have been defined as methods.
-
- 28 Dec, 2008 2 commits
-
-
Liam Healy authored
Split off the class definition for foreign-array into its own file along with applicable definitions. Make permutations and combinations direct subclasses of both foreign-array and marray, but not subclasses of vectors. All these classes now have initialize-instance :after methods that allocate and set the pointers and finalizers. All tests pass.
-
Liam Healy authored
Fixed several errors that only were present for #-native implementations (i.e. not SBCL). It is not yet complete for non-native arrays. It now compiles completely in CLISP but crashes immediately with a SIGSEGV on amd64 platforms. This is apparently due to this bug: http://sourceforge.net/tracker/?func=detail&atid=101355&aid=2292928&group_id=1355
-
- 26 Dec, 2008 1 commit
-
-
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.
-
- 07 Dec, 2008 1 commit
-
-
Liam Healy authored
Define and call copy-cl-to-c and copy-c-to-cl only for non-native implementations; they include checks of the flags c-invalid and cl-invalid. Make sure synchronization is called at the right points. Make sure that flags are set at the right points and cleared after a copy. Not tested yet. Any per-function problems are likely from incorrect listing of inputs and/or outputs.
-
- 12 Nov, 2008 1 commit
-
-
Liam Healy authored
To make terminology consistent, the "C standard" form of type, also what I call "CFFI" form, is called that instead of "FFA" in some places. Specifically, #'cl-cffi is renamed from #'cl-ffa and now the name matches the already-existing #'cffi-cl.
-
- 31 Aug, 2008 1 commit
-
-
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.
-
- 29 Aug, 2008 1 commit
-
-
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.
-