You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* Suport nested cat in `@SArray`
Use `cat_any` to "cat" all arguments. (No promotion)
And better performance (3x faster)
Code clean for macro.
* Also extend `@SMatix` and `@SVector`
Just check the output's shape:
1. Alow missing dimension (Vector isa `n*1` Matrix)
2. And addition size-1 dimension (`m*n*1` Array isa `m*n` Matrix)
* Support `MArray`
Code reuse.
* Some behavior change
1. [1;2] isa Vector
2. [f(...) for ...] has no dim limit.
* Add more test
* Mark `@SVector [;]` as broken.
The constructor is missing for empty `SVector`.
Would be fixed in future PRs. Thus just mark it as broken.
* Add support to `SA[1;;1]`
* Resolve comments:
1. Only test `@SArray [;;]` on master.
2. code clean.
3. support `@SArray fill(1)` `@SArray zeros()`
Co-Authored-By: Mateusz Baran <2551062+mateuszbaran@users.noreply.github.com>
* Add doc string.
* Stop nested cat when meet `[a,b,c]`
`a`, `b`, `c` should not be catted.
* bump
Co-authored-by: Mateusz Baran <2551062+mateuszbaran@users.noreply.github.com>
exprs = [:($f($j1, $j2)) for j1 in rngs[1], j2 in rngs[2]]
178
-
elseif n_rng ==3
179
-
exprs = [:($f($j1, $j2, $j3)) for j1 in rngs[1], j2 in rngs[2], j3 in rngs[3]]
180
-
elseif n_rng ==4
181
-
exprs = [:($f($j1, $j2, $j3, $j4)) for j1 in rngs[1], j2 in rngs[2], j3 in rngs[3], j4 in rngs[4]]
182
-
elseif n_rng ==5
183
-
exprs = [:($f($j1, $j2, $j3, $j4, $j5)) for j1 in rngs[1], j2 in rngs[2], j3 in rngs[3], j4 in rngs[4], j5 in rngs[5]]
184
-
elseif n_rng ==6
185
-
exprs = [:($f($j1, $j2, $j3, $j4, $j5, $j6)) for j1 in rngs[1], j2 in rngs[2], j3 in rngs[3], j4 in rngs[4], j5 in rngs[5], j6 in rngs[6]]
186
-
elseif n_rng ==7
187
-
exprs = [:($f($j1, $j2, $j3, $j4, $j5, $j6, $j7)) for j1 in rngs[1], j2 in rngs[2], j3 in rngs[3], j4 in rngs[4], j5 in rngs[5], j6 in rngs[6], j7 in rngs[7]]
188
-
elseif n_rng ==8
189
-
exprs = [:($f($j1, $j2, $j3, $j4, $j5, $j6, $j7, $j8)) for j1 in rngs[1], j2 in rngs[2], j3 in rngs[3], j4 in rngs[4], j5 in rngs[5], j6 in rngs[6], j7 in rngs[7], j8 in rngs[8]]
190
-
else
191
-
error("@MArray only supports up to 8-dimensional comprehensions")
exprs = [:($f($j1, $j2)) for j1 in rngs[1], j2 in rngs[2]]
217
-
elseif n_rng ==3
218
-
exprs = [:($f($j1, $j2, $j3)) for j1 in rngs[1], j2 in rngs[2], j3 in rngs[3]]
219
-
elseif n_rng ==4
220
-
exprs = [:($f($j1, $j2, $j3, $j4)) for j1 in rngs[1], j2 in rngs[2], j3 in rngs[3], j4 in rngs[4]]
221
-
elseif n_rng ==5
222
-
exprs = [:($f($j1, $j2, $j3, $j4, $j5)) for j1 in rngs[1], j2 in rngs[2], j3 in rngs[3], j4 in rngs[4], j5 in rngs[5]]
223
-
elseif n_rng ==6
224
-
exprs = [:($f($j1, $j2, $j3, $j4, $j5, $j6)) for j1 in rngs[1], j2 in rngs[2], j3 in rngs[3], j4 in rngs[4], j5 in rngs[5], j6 in rngs[6]]
225
-
elseif n_rng ==7
226
-
exprs = [:($f($j1, $j2, $j3, $j4, $j5, $j6, $j7)) for j1 in rngs[1], j2 in rngs[2], j3 in rngs[3], j4 in rngs[4], j5 in rngs[5], j6 in rngs[6], j7 in rngs[7]]
227
-
elseif n_rng ==8
228
-
exprs = [:($f($j1, $j2, $j3, $j4, $j5, $j6, $j7, $j8)) for j1 in rngs[1], j2 in rngs[2], j3 in rngs[3], j4 in rngs[4], j5 in rngs[5], j6 in rngs[6], j7 in rngs[7], j8 in rngs[8]]
229
-
else
230
-
error("@MArray only supports up to 8-dimensional comprehensions")
0 commit comments