Changelog for Spartns ===================== Version numbers are in the format A.B.C; the meaning of changes in each position is: A: incompatible changes or major new features B: new features C: bugfixes and cleanups (This was not the case until 0.0.3) 1.2.2 - 29 Jun 2008 ------------------- * Removed some assertions that were causing problems with GCL 1.2.1 - 29 Jun 2008 ------------------- * Removed old entries from TODO file * Updated and cleaned up the manual 1.2.0 - 29 Jun 2008 ------------------- * New feature: besides resize-amount, it's now possible to pass a resize-function to defspartn (for example, you can double the size of a CVECTOR each time it gets full. You would then use:resize-function (lambda (x) (* 2 x))). So, "resize-amount 10" is the same as "resize-function (lambda (x) (+ x 10))" * Fixed bug when non-zero-list was ommited. Thanks a lot to Yves Vandriessche for sending a detailed bug analysis! * Small changes to online documentation * Fixed thinko in PDF manual (thanks Yves Vandriessche) 1.1.6 - 07 Apr 2008 ------------------- * Load lisp-unit before using it 1.1.5 - 07 Apr 2008 ------------------- * Fix silly bug in ASDF file * Some small enhancements to the manual * Document the fact that Spartns does not work with Corman Common Lisp 1.1.4 - 05 Apr 2008 ------------------- * Spartns now works with Clozure Common Lisp * Fixed symbol generation again (and thanks again to Francis Leboutte) * Don't require lisp-unit and test suites for ordinary use (reported by Francis Leboutte) 1.1.3 - 01 Apr 2008 ------------------- * Traversals on the HASH scheme have been optimized 1.1.2 - 31 Mar 2008 ------------------- * Include spartns.asd (oops!) 1.1.1 - 31 Mar 2008 ------------------- * Small optimization (using MULTIPLE-VALUE-BIND instead of LET) makes the CVECTOR scheme much faster on SBCL * More cleanups 1.1.0 - 31 Mar 2008 ------------------- * All schemes now cons much less and are faster (the previous code would build structures without need) * Small optimizations * Function names are now created using uppercase for symbols (GET-SCHEME instead of |GET-scheme|); thanks to Francis Leboutte for reporting this * Cleaned up benchmarks a lot * Cleaned up tests a bit 1.0.1 - 10 Mar 2008 ------------------- * Spartns again fully works with Allegro Common Lisp 1.0.0 - 14 Feb 2008 ------------------- * Fast traversals: if you know that the sparsity structure of your tensors will not change, you can traverse them *very* fast. EXCEPT for Allegro Common Lisp * Equality test is now configurable (not just 'EQL, although 'EQL is still the default) * The CVECTOR scheme has been enhanced: cvectors will automatically be resized (by a configurable anmount) when they're full. EXCEPT for Allegro Common Lisp (it will signal an error) * It is possible to "pack" sparse tensors, releasing unused memory. This is useful if you add an unknown number of elements to a tensor represented as CVECTORS, and end up with extra unused space. EXCEPT for Allegro Common Lisp * Fix one-dimensional cvector spartns (the MAKE-* function was creating 0-dimensional arrays) * Clarify the meaning of the :non-zeros key argument to defspartn * Add a section to the manual explaining how to create tensors with unknown size, make them static and traverse quickly 0.2.0 - 06 Feb 2008 ------------------- * New feature: you can traverse several tensors, possibly stipulating that some indices are shared among tensors (think matrix multiplication, for example) * Works with XCL now * Tests are a bit more robust, but still far from good 0.1.3 - 31 Jan 2008 ------------------- * benchmark.lisp now adjusts maximum memory for Poplog, so all functions finish sucessfully * spartn-copy was also broken; it has been fixed * More tests added 0.1.2 - 31 Jan 2008 ------------------- * Fix traversals on the HASH representation scheme * Fix the ARRAY representation scheme 0.1.1 - 30 Jan 2008 ------------------- * Now the HASH scheme works with Poplog * Documentation updates 0.1.0 - 30 Jan 2008 ------------------- * New representation scheme, ARRAY, for dense dimensions 0.0.4 - 29 Jan 2008 ------------------- * cvector scheme has been slightly optimized. Conses less and is a bit faster * Test utils.lisp, not just spartns * Some internal cleanup and reorganization 0.0.3 - 29 Jan 2008 -------------------- * Reformatted changelog * Some internal cleanup * Tests work with GCL now 0.0.2 - 28 Jan 2008 -------------------- * ASDF installable * Made package and tests more robust with eval-when * Other minor changes 0.0.1 - 27 Jan 2008 -------------------- * Initial release