use customizeShape in transpose
This commit is contained in:
parent
6ead1baa11
commit
5ef4fe828b
@ -217,6 +217,7 @@ B mul_c2(B,B,B);
|
|||||||
B ud_c1(B,B);
|
B ud_c1(B,B);
|
||||||
B tbl_c2(Md1D*,B,B);
|
B tbl_c2(Md1D*,B,B);
|
||||||
B select_c2(B,B,B);
|
B select_c2(B,B,B);
|
||||||
|
Arr* customizeShape(B x); // from cells.c
|
||||||
|
|
||||||
static void shSet(Arr* ra, ur rr, ShArr* sh) {
|
static void shSet(Arr* ra, ur rr, ShArr* sh) {
|
||||||
if (RARE(rr <= 1)) arr_shVec(ra);
|
if (RARE(rr <= 1)) arr_shVec(ra);
|
||||||
@ -398,9 +399,7 @@ B transp_c2(B t, B w, B x) {
|
|||||||
ShArr* zsh = m_shArr(2);
|
ShArr* zsh = m_shArr(2);
|
||||||
zsh->a[0] = IA(x)/csz;
|
zsh->a[0] = IA(x)/csz;
|
||||||
zsh->a[1] = csz;
|
zsh->a[1] = csz;
|
||||||
Arr* z = TI(x,slice)(x, 0, IA(x));
|
x = taga(arr_shSetUG(customizeShape(x), 2, zsh));
|
||||||
arr_shSetUG(z, 2, zsh);
|
|
||||||
x = taga(z);
|
|
||||||
// (+⌜´st×⟜↕¨rsh)⊏⥊𝕩
|
// (+⌜´st×⟜↕¨rsh)⊏⥊𝕩
|
||||||
B ind = bi_N;
|
B ind = bi_N;
|
||||||
for (ur k=na; k--; ) {
|
for (ur k=na; k--; ) {
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user