-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathchangelog
253 lines (214 loc) · 7.78 KB
/
changelog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
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.4.7 - 24 May 2017
-------------------
* put correct version in spartns.asd file
* fix GCL compatibility. it seems that GCL does not accept
a DECLARE statement inside a SYMBOL-MACROLET when the
SYMBOL-MACROLET itself is inside a LOOP. My interpretation
of the spec is different, but -- anyway, I have disabled
the DECLARE in do-traverse-cvector for now (for GCL only)
1.4.6 - 23 May 2017
-------------------
* inclulde maunal.pdf in package
* package will now be distributed from GitHub
1.4.5 - 23 May 2017
-------------------
* Fixed do-traverse-cvector -- it behave in a completely wrong
way when given indices not present in its index table
1.4.4 - 07 Jun 2016
-------------------
* Replaced the previous recursive binary search algorithm. It's
now nonrecursive (it seems that some CL implementations really
don't optimize tail calls)
* Added mising docstrings to utils.lisp
* Reworked benchmark.lisp with suggestion from Juanjo of ECL. Also
fixed a non-serious problem (the names of two twin benchmarks
were swapped: traverse-*-set and traverse-*-get)
* Cleaned up utils.lisp
1.4.3 - 09 Oct 2009
-------------------
* The docstring issue in XCL has been fixed by Peter Graves!
Now all type declarations and optimize settings are used on
all Common Lisps (the #-xcl hack has been removed!).
1.4.2 - 07 Oct 2009
-------------------
* Cleaned up tests
1.4.1 - 11 Aug 2009
-------------------
* Fixed robust-adjust-array so it works without the element-type
argument; also fixed some typos in the documentation.
* Include full text of GPL, LGPL and LLGPL, so there is absolutely
zero information missing for users.
1.4.0 - 11 Mar 2009
-------------------
* Keeping an index fixed now also works with fast-traversals
1.3.0 - 28 Feb 2009
-------------------
* It is now possible to traverse while keeping indices fixed.
For example,
(setf i 10)
(traverse-3dmatrix ((i j k) val matrix :dont-bind (i))
...)
will traverse the two rightmost dimensions of matrix
(j, k). i will not be bound, so it will be fixed as
10.
* Document the fact that the ARRAY and HASH schemes are
actually also SETFable while being traversed (and
include this as a test case).
* Document the fact that Spartns works with Scieneer Common
Lisp (except for the benchmarks)
1.2.7 - 05 Oct 2008
-------------------
* When traversing CVECTORs, values are now SETFable. (This
is not true for other schemes). Documented in manual.
1.2.6 - 01 Oct 2008
-------------------
* Remove debugging function call...
* Expanded and clarified some online documentation strings
1.2.5 - 01 Oct 2008
-------------------
* Another attempt to fix w/fast-traversals, including better
documentation.
1.2.4 - 18 Sep 2008
-------------------
* Fixed bugs in w/fast-traversals (thanks once again to Yves
Vandriessche!)
* Fix example of w/spartn-traversals usage in the manual
* Also did some cosmetic changes in the manual
1.2.3 - 29 Aug 2008
-------------------
* Fixes off-by-one bug found by Yves Vandriessche in w/fast-traversals
* Some internal cleanup
* Small updates to documentation: mention MCL, plus some
other additions
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