-
Notifications
You must be signed in to change notification settings - Fork 6
/
CHANGES
262 lines (180 loc) · 6.93 KB
/
CHANGES
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
253
254
255
256
257
258
259
260
261
262
viktor Changelog
================
Here you can see the full list of changes between each viktor release.
Version 1.2.0
Released on November 4, 2021
- added "fold" and "reduce" methods
- added "combine" and "combineInPlace" methods
- deprecated "size" property in favor of the new "length" property
- changed the distribution method from Bintray to Maven Central
Version 1.1.0
Released on February 9, 2021
- added "transform" and "transformInPlace" methods
- improved performance of multiple operations
- F64FlatArray is specified as return type whenever possible
- types other than F64Array and F64FlatArray are now internal
- improved index and dimensionality checks
- improved test coverage
- removed the benchmarks that were bundled with the project
Version 1.0.2
-------------
Released on January 14, 2021
- Bumped Kotlin, Gradle, Bintray plugin and NPY versions
Version 1.0.1
-------------
Released on December 4, 2019
- Replaced log4j logging implementation with slf4j API, since libraries shouldn't enforce logging framework
Version 1.0.0
-------------
Released on November 19, 2019
- Simplified signatures
- Added a benchmark JAR task
- Simplified the native methods' signatures
- Removed transpose and reversed
- Introduced unroll mechanics for F64Array
- Serialization uses isFlattenable instead of isDense
- Changed native signature of logAddExp to dst-src syntax
- logAddExp now deals with positive infinities and NaNs
- Corrected guessShape implementation
- Correct JNI copy processing
- Added extensive Markdown documentation
- Reorganized benchmarks
- Removed weightedSum / Mean, transpose, reversed
- Added benchmarking data and description thereof to documentation
- Fixed Travis builds
Version 0.5.3
-------------
Released on January 21, 2019
- Use the latest Kotlin version
- No more illegal reflective access in Loader
Version 0.5.2
-------------
Released on January 15, 2019
- Previous version was MacOS-specific due to outdated instructions in README.
Version 0.5.1
-------------
Released on December 12, 2018
- Library dependencies containing '+' symbol replaced with exact versions. This gives more predictable runtime behaviour.
Version 0.5.0
-------------
Released on October 1, 2018
- Cross-platform build for 64 bit Linux, Windows and MacOS.
Version 0.4.2
-------------
- Fixed `Array<*>.toF64Array`.
Version 0.4.1
-------------
- Fixed `F64Array.V` serialization.
Version 0.4.0
-------------
Released on November 1st 2016
- Removed special cased `Vector`, `Matrix2` and `Matrix3` classes in
favor of a more generic `F64Array`.
- Fixed serialization of non-dense arrays.
- Allowed slicing an `F64Array` with a custom `step`.
- Added a special attribute `V` for n-d slicing the array.
- Removed `stochastic` and `indexedStochastic`.
- Added `axis` to `F64Array.append`, `F64Array.slice` and `F64Array.reorder`.
- Added `Array<*>.toF64Array` for converting nested arrays to strided ones.
Version 0.3.5
-------------
Bugfix release, released on September 21st 2016
- Fixed yet another bug, but this time in `StridedMatrix3.toString`.
Like they say, copy-paste is never a good thing.
Version 0.3.4
-------------
Released on September 21st 2016
- Fixed a bug in `StridedMatrix2.toString`, which incorrectly rendered
large matrices, and unified the implementation with `StridedMatrix3`.
- Added NumPy-compatible serialization support.
- Switched to the first stable release of Boost.SIMD v4.16.9.0.
Version 0.3.3
-------------
Bugfix release, released on September 2nd 2016
- Fixed a bug in `DenseVector.minusAssign` which called `plusAssign`
if the argument was not dense.
Version 0.3.2
-------------
Bugfix release, released on June 27th 2016
Version 0.3.1
-------------
Bugfix release, released on June 27th 2016
- Fixed loading native libraries from the JAR file.
- Fixed error handling on unsupported architectures.
Version 0.3.0
-------------
Released on June 27th 2016
- Dropped dependency on Yeppp! and embedded a re-worked simdstat.
- Removed `StridedVector.sumSq` in favour of `dot`.
- Switched to balanced summation in pure-Kotlin versions of
`StridedVector.sum` and `dot`.
- Added `StridedVector.sd` for computing unbiased standard deviation.
- Added SIMD speedups for / and /= operations.
- Added `StridedVector.log1p` and `expm1`.
- Fixed a bug in scalar division in expressions of the form 1.0 / v.
- Mirrored `StridedVector` operations in `StridedMatrix2` and
`StridedMatrix3`.
- Extended operator overloads for `Double` to `StridedMatrix2` and
`StidedMatrix3`.
Version 0.2.3
-------------
Released on May 26th 2016
- Added `StridedVector.append` and `StridedVector.concatenate` for
joining multiple vectors into a single vector.
- Changed `StridedVector.sort`, `argSort` and `reorder` to be extension
functions.
- Exposed `StridedVector.partition`.
- Added `StridedVector.searchSorted` for doing efficient sorted lookups.
- Changed `StridedVector.argMin` and `argMax` to be extension
functions.
Version 0.2.2
-------------
Released on April 29th 2016
- Added unary operator overloads for `StridedVector`.
- Implemented * and / operations for `StridedVector`.
- Added extra operator overloads for `Double`, so it is now possible to
write (1.0 + v / 2.0).
- Fixed `StridedVector.toString` in case of NaN and infinities.
- Changed `StridedVector.toString` to be more like NumPy for larger vectors.
Version 0.2.1
-------------
Bugfix release, released on April 22nd 2016
- Changed `StridedVector.quantile` to follow Commons Math implementation.
Version 0.2.0
-------------
Released on April 22nd 2016
- Changed all `StridedVector` members are now public.
- Changed `StridedVector.size` to be a property instead of a function.
- Removed `StridedVector.wrap`, please use `DoubleArray.asStrided` instead.
- Implemented `StridedVector.dot` for the case when the argument is
also a `StridedVector`.
- Added `StridedVector.quantile` for (amortized) linear-time order
statistic queries.
- Added `StridedVector.shuffle` for randomly permuting vector elements.
Version 0.1.4
-------------
Technical release, released on February 3rd 2016
- Migrated to Kotlin 1.0.0-rc.
Version 0.1.3
-------------
Technical release, released on February 1st 2016
- Renamed `StridedVector.sorted` to `argSort` to avoid confusion with
the `sorted` method on primitive arrays.
Version 0.1.2
-------------
Released on December 9th, 2015
- Overloaded - and / operations for `StridedVector`.
- Removed redundant boxing and copying in `StridedVector.sorted`.
- Fixed indexing in `StridedMatrix3.equals`.
- Added two new operations `StridedVector.mean` and `StridedVector.sumSq`,
which are also applicable to matrices.
Version 0.1.1
-------------
Technical release, released on October 22th, 2015
- Updated to Kotlin 1.0.0-beta.
- Renamed `_` to `_I` because the latter isn't a valid identifier as
of Kotlin M14. This is a temporary solution. I hope we'll find
a more human-readable workaround eventually.
Version 0.1.0
-------------
Initial release, released on October 15th, 2015