forked from stdlib-js/stdlib
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathrepl.txt
More file actions
90 lines (67 loc) · 2.96 KB
/
repl.txt
File metadata and controls
90 lines (67 loc) · 2.96 KB
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
{{alias}}( shape, stridesX, stridesY, stridesZ, stridesW, stridesU, stridesV )
Reorders ndarray dimensions and associated strides for loop interchange.
The function returns an object having the following properties:
- sh: ordered dimensions.
- sx: first input array strides sorted in loop order.
- sy: second input array strides sorted in loop order.
- sz: third input array strides sorted in loop order.
- sw: fourth input array strides sorted in loop order.
- su: fifth input array strides sorted in loop order.
- sv: output array strides sorted in loop order.
For all returned arrays, the first element corresponds to the innermost
loop, and the last element corresponds to the outermost loop.
The function assumes that the input and output ndarrays have the same shape.
Hence, loop interchange order should only be determined after broadcasting.
Parameters
----------
shape: ArrayLikeObject<integer>
Array dimensions.
stridesX: ArrayLikeObject<integer>
First input array strides.
stridesY: ArrayLikeObject<integer>
Second input array strides.
stridesZ: ArrayLikeObject<integer>
Third input array strides.
stridesW: ArrayLikeObject<integer>
Fourth input array strides.
stridesU: ArrayLikeObject<integer>
Fifth input array strides.
stridesV: ArrayLikeObject<integer>
Output array strides.
Returns
-------
out: Object
Loop interchange data.
out.sh: Array<integer>
Ordered dimensions.
out.sx: Array<integer>
First input array strides sorted in loop order.
out.sy: Array<integer>
Second input array strides sorted in loop order.
out.sz: Array<integer>
Third input array strides sorted in loop order.
out.sw: Array<integer>
Fourth input array strides sorted in loop order.
out.su: Array<integer>
Fifth input array strides sorted in loop order.
out.sv: Array<integer>
Output array strides sorted in loop order.
Examples
--------
> var x = {{alias:@stdlib/ndarray/array}}( [ [ 1, 2 ], [ 3, 4 ] ] );
> var y = {{alias:@stdlib/ndarray/array}}( [ [ 5, 6 ], [ 7, 8 ] ] );
> var z = {{alias:@stdlib/ndarray/array}}( [ [ 9, 10 ], [ 11, 12 ] ] );
> var w = {{alias:@stdlib/ndarray/array}}( [ [ 13, 14 ], [ 15, 16 ] ] );
> var u = {{alias:@stdlib/ndarray/array}}( [ [ 17, 18 ], [ 19, 20 ] ] );
> var v = {{alias:@stdlib/ndarray/array}}( [ [ 0, 0 ], [ 0, 0 ] ] );
> var sh = {{alias:@stdlib/ndarray/shape}}( x );
> var sx = {{alias:@stdlib/ndarray/strides}}( x );
> var sy = {{alias:@stdlib/ndarray/strides}}( y );
> var sz = {{alias:@stdlib/ndarray/strides}}( z );
> var sw = {{alias:@stdlib/ndarray/strides}}( w );
> var su = {{alias:@stdlib/ndarray/strides}}( u );
> var sv = {{alias:@stdlib/ndarray/strides}}( v );
> var o = {{alias}}( sh, sx, sy, sz, sw, su, sv )
{...}
See Also
--------