@@ -4,28 +4,115 @@ Version 0.15.0 (Not released yet)
4
4
New features
5
5
------------
6
6
7
- - Support for compiling ndarray as ` no_std ` (using core and alloc) by [ @xd009642 ]
7
+ - Support inserting new axes while slicing by [ @jturner314 ] . This is an example:
8
8
9
- https://github.com/rust-ndarray/ndarray/pull/861
9
+ ``` rust
10
+ let view = arr . slice (s! [.. , - 1 , 2 .. ;- 1 , NewAxis ]);
11
+ ```
12
+
13
+ https://github.com/rust-ndarray/ndarray/pull/570
14
+
15
+ - Support two-sided broadcasting in arithmetic operations with arrays by [ @SparrowLii ]
16
+
17
+ Note that this means that a new trait bound is required in some places when
18
+ mixing dimensionality types of arrays in arithmetic operations.
19
+
20
+ https://github.com/rust-ndarray/ndarray/pull/898
21
+
22
+ - Support for compiling ndarray as ` no_std ` (using core and alloc) by
23
+ [ @xd009642 ] and [ @bluss ]
24
+
25
+ https://github.com/rust-ndarray/ndarray/pull/861 <br >
26
+ https://github.com/rust-ndarray/ndarray/pull/889
10
27
11
28
- New methods ` .cell_view() ` and ` ArrayViewMut::into_cell_view ` that enable
12
29
new ways of working with array elements as if they were in Cells - setting
13
- elements through shared views and broadcast views.
30
+ elements through shared views and broadcast views, by [ @ bluss ] .
14
31
15
32
https://github.com/rust-ndarray/ndarray/pull/877
16
33
34
+ - New methods ` slice_each_axis/_mut/_inplace ` that make it easier to slice
35
+ a dynamic number of axes in some situations, by [ @jturner314 ]
36
+
37
+ https://github.com/rust-ndarray/ndarray/pull/913
38
+
39
+ - New method ` a.assign_to(b) ` with the inverse argument order compared to the
40
+ existing ` b.assign(a) ` and some extra features like assigning into
41
+ uninitialized arrays, By [ @bluss ] .
42
+
43
+ https://github.com/rust-ndarray/ndarray/pull/947
17
44
18
45
Enhancements
19
46
------------
20
47
21
- - Fix ` Zip ` for the 0-dimensional case by [ @jturner314 ]
48
+ - New constructors ` Array::from_iter ` and ` Array::from_vec ` by [ @bluss ] .
49
+ No new functionality, just that these constructors are avaiable without trait
50
+ imports.
22
51
23
- https://github.com/rust-ndarray/ndarray/pull/862
52
+ https://github.com/rust-ndarray/ndarray/pull/921
53
+
54
+ - Ndarray can now correctly determine that arrays can be contiguous, even if
55
+ they have negative strides, by [ @SparrowLii ]
56
+
57
+ https://github.com/rust-ndarray/ndarray/pull/885
58
+
59
+ - ` NdProducer::raw_dim ` is now a documented method by [ @jturner314 ]
60
+
61
+ https://github.com/rust-ndarray/ndarray/pull/918
62
+
63
+ - ` AxisDescription ` is now a struct with field names, not a tuple struct by
64
+ [ @jturner314 ]
65
+
66
+ https://github.com/rust-ndarray/ndarray/pull/915
67
+
68
+ - Improvements to ` map_inplace ` by [ @jturner314 ]
69
+
70
+ https://github.com/rust-ndarray/ndarray/pull/911
71
+
72
+ - ` .into_dimensionality ` performance was improved for the ` IxDyn ` to ` IxDyn `
73
+ case by [ @bluss ]
74
+
75
+ https://github.com/rust-ndarray/ndarray/pull/906
76
+
77
+ - Improved performance for scalar + &array and &array + scalar operations by
78
+ [ @jturner314 ]
79
+
80
+ https://github.com/rust-ndarray/ndarray/pull/890
81
+
82
+ - Methods for array comparison ` abs_diff_eq ` and ` relative_eq ` are now
83
+ exposed as inherent methods too (no trait import needed), still under the approx
84
+ feature flag by [ @bluss ]
85
+
86
+ https://github.com/rust-ndarray/ndarray/pull/946
24
87
25
88
API changes
26
89
-----------
27
90
28
- - Removed deprecated methods by [ @bluss ] :
91
+ - Changes to the slicing-related types and macro by [ @jturner314 ] and [ @bluss ] :
92
+
93
+ - Remove the ` Dimension::SliceArg ` associated type, and add a new ` SliceArg `
94
+ trait for this purpose.
95
+ - Change the return type of the ` s![] ` macro to an owned ` SliceInfo ` rather
96
+ than a reference.
97
+ - Replace the ` SliceOrIndex ` enum with ` SliceInfoElem ` , which has an
98
+ additional ` NewAxis ` variant and does not have a ` step_by ` method.
99
+ - Change the type parameters of ` SliceInfo ` in order to support the ` NewAxis `
100
+ functionality and remove some tricky ` unsafe ` code.
101
+ - Mark the ` SliceInfo::new ` method as ` unsafe ` . The new implementations of
102
+ ` TryFrom ` can be used as a safe alternative.
103
+ - Remove the ` AsRef<SliceInfo<[SliceOrIndex], D>> for SliceInfo<T, D> `
104
+ implementation. Add the similar `From<&'a SliceInfo<T, Din, Dout>> for
105
+ SliceInfo<&'a [ SliceInfoElem] , Din, Dout>` conversion as an alternative.
106
+ - Change the * expr* ` ; ` * step* case in the ` s![] ` macro to error at compile
107
+ time if an unsupported type for * expr* is used, instead of panicking at
108
+ runtime.
109
+
110
+ https://github.com/rust-ndarray/ndarray/pull/570 <br >
111
+ https://github.com/rust-ndarray/ndarray/pull/940 <br >
112
+ https://github.com/rust-ndarray/ndarray/pull/943 <br >
113
+ https://github.com/rust-ndarray/ndarray/pull/945 <br >
114
+
115
+ - Removed already deprecated methods by [ @bluss ] :
29
116
30
117
- Remove deprecated ` .all_close() ` - use approx feature and methods like ` .abs_diff_eq ` instead
31
118
- Mark ` .scalar_sum() ` as deprecated - use ` .sum() ` instead
@@ -34,21 +121,106 @@ API changes
34
121
35
122
https://github.com/rust-ndarray/ndarray/pull/874
36
123
37
- - Remove deprecated methods: rows, cols (for row and column count; the new
38
- names are nrows and ncols) by [ @bluss ]
124
+ - Remove already deprecated methods: rows, cols (for row and column count; the
125
+ new names are nrows and ncols) by [ @bluss ]
39
126
40
127
https://github.com/rust-ndarray/ndarray/pull/872
41
128
42
- - Renamed methods (old names are now deprecated) by [ @bluss ]
129
+ - Renamed ` Zip ` methods by [ @bluss ] and [ @SparrowLii ] :
130
+
131
+ - ` apply ` -> ` for_each `
132
+ - ` apply_collect ` -> ` map_collect `
133
+ - ` apply_collect_into ` -> ` map_collect_into `
134
+ - (` par_ ` prefixed methods renamed accordingly)
135
+
136
+ https://github.com/rust-ndarray/ndarray/pull/894 <br >
137
+ https://github.com/rust-ndarray/ndarray/pull/904 <br >
138
+
139
+ - Deprecate ` Array::uninitialized ` and revamped its replacement by [ @bluss ]
140
+
141
+ Please use new new ` Array::uninit ` which is based on ` MaybeUninit ` (renamed
142
+ from ` Array::maybe_uninit ` , the old name is also deprecated).
143
+
144
+ https://github.com/rust-ndarray/ndarray/pull/902 <br >
145
+ https://github.com/rust-ndarray/ndarray/pull/876
146
+
147
+ - Renamed methods (old names are now deprecated) by [ @bluss ] and [ @jturner314 ]
43
148
44
149
- ` genrows/_mut ` -> ` rows/_mut `
45
150
- ` gencolumns/_mut ` -> ` columns/_mut `
151
+ - ` stack_new_axis ` -> ` stack ` (the new name already existed)
152
+ - ` visit ` -> ` for_each `
46
153
47
- https://github.com/rust-ndarray/ndarray/pull/872
154
+ https://github.com/rust-ndarray/ndarray/pull/872 <br >
155
+ https://github.com/rust-ndarray/ndarray/pull/937 <br >
156
+ https://github.com/rust-ndarray/ndarray/pull/907 <br >
157
+
158
+ - ` blas-src ` dependency updated to 0.7.0 by [ @bluss ]
159
+
160
+ https://github.com/rust-ndarray/ndarray/pull/891
161
+
162
+ - Updated ` matrixmultiply ` dependency to 0.3.0 by [ @bluss ]
163
+ and adding new feature flag ` matrixmultiply-threading ` to enable its threading
164
+
165
+ https://github.com/rust-ndarray/ndarray/pull/888 <br >
166
+ https://github.com/rust-ndarray/ndarray/pull/938 <br >
167
+
168
+
169
+ Bug fixes
170
+ ---------
171
+
172
+ - Fix ` Zip::indexed ` for the 0-dimensional case by [ @jturner314 ]
173
+
174
+ https://github.com/rust-ndarray/ndarray/pull/862
175
+
176
+ - Fix bug in layout computation that broke parallel collect to f-order
177
+ array in some circumstances by [ @bluss ]
178
+
179
+ https://github.com/rust-ndarray/ndarray/pull/900
180
+
181
+ - Fix an unwanted panic in shape overflow checking by [ @bluss ]
182
+
183
+ https://github.com/rust-ndarray/ndarray/pull/855
184
+
185
+ - Mark the ` SliceInfo::new ` method as ` unsafe ` due to the requirement that
186
+ ` indices.as_ref() ` always return the same value when called multiple times,
187
+ by [ @bluss ] and [ @jturner314 ]
188
+
189
+ https://github.com/rust-ndarray/ndarray/pull/570
48
190
49
191
Other changes
50
192
-------------
51
193
194
+ - Various improvements to tests and CI by [ @jturner314 ]
195
+
196
+ https://github.com/rust-ndarray/ndarray/pull/934 <br >
197
+ https://github.com/rust-ndarray/ndarray/pull/924 <br >
198
+
199
+ - The ` sort-axis.rs ` example file's implementation of sort was bugfixed and now
200
+ has tests, by [ @dam5h ] and [ @bluss ]
201
+
202
+ https://github.com/rust-ndarray/ndarray/pull/916 <br >
203
+ https://github.com/rust-ndarray/ndarray/pull/930
204
+
205
+ - We now link to the #rust-sci room on matrix in the readme by [ @jturner314 ]
206
+
207
+ https://github.com/rust-ndarray/ndarray/pull/619
208
+
209
+ - Internal cleanup with builder-like methods for creating arrays by [ @bluss ]
210
+
211
+ https://github.com/rust-ndarray/ndarray/pull/908
212
+
213
+ - Implementation fix of ` .swap(i, j) ` by [ @bluss ]
214
+
215
+ https://github.com/rust-ndarray/ndarray/pull/903
216
+
217
+ - Minimum supported Rust version (MSRV) is Rust 1.49.
218
+
219
+ https://github.com/rust-ndarray/ndarray/pull/902
220
+
221
+ - Minor improvements to docs by [ @insideoutclub ]
222
+
223
+ https://github.com/rust-ndarray/ndarray/pull/887
52
224
53
225
54
226
Version 0.14.0 (2020-11-28)
@@ -1069,21 +1241,24 @@ Earlier releases
1069
1241
[ @bluss ] : https://github.com/bluss
1070
1242
[ @jturner314 ] : https://github.com/jturner314
1071
1243
[ @LukeMathWalker ] : https://github.com/LukeMathWalker
1072
- [ @max-sixty ] : https://github.com/max-sixty
1244
+ [ @acj ] : https://github.com/acj
1245
+ [ @andrei-papou ] : https://github.com/andrei-papou
1246
+ [ @dam5h ] : https://github.com/dam5h
1247
+ [ @d-dorazio ] : https://github.com/d-dorazio
1248
+ [ @Eijebong ] : https://github.com/Eijebong
1249
+ [ @insideoutclub ] : https://github.com/insideoutclub
1073
1250
[ @JP-Ellis ] : https://github.com/JP-Ellis
1074
- [ @sebasv ] : https://github.com/sebasv
1251
+ [ @lifuyang ] : https://github.com/liufuyang
1252
+ [ @max-sixty ] : https://github.com/max-sixty
1075
1253
[ @mneumann ] : https://github.com/mneumann
1076
- [ @termoshtt ] : https://github.com/termoshtt
1077
- [ @rth ] : https://github.com/rth
1078
- [ @nitsky ] : https://github.com/nitsky
1079
- [ @d-dorazio ] : https://github.com/d-dorazio
1254
+ [ @mockersf ] : https://github.com/mockersf
1080
1255
[ @nilgoyette ] : https://github.com/nilgoyette
1256
+ [ @nitsky ] : https://github.com/nitsky
1257
+ [ @rth ] : https://github.com/rth
1258
+ [ @sebasv ] : https://github.com/sebasv
1259
+ [ @SparrowLii ] : https://github.com/SparrowLii
1260
+ [ @termoshtt ] : https://github.com/termoshtt
1081
1261
[ @TheLortex ] : https://github.com/TheLortex
1082
- [ @mockersf ] : https://github.com/mockersf
1083
1262
[ @viniciusd ] : https://github.com/viniciusd
1084
- [ @lifuyang ] : https://github.com/liufuyang
1085
- [ @acj ] : https://github.com/acj
1086
- [ @Eijebong ] : https://github.com/Eijebong
1087
- [ @andrei-papou ] : https://github.com/andrei-papou
1088
1263
[ @xd009642 ] : https://github.com/xd009642
1089
1264
[ @Zuse64 ] : https://github.com/Zuse64
0 commit comments