Reproducing code:
float ha[] = {1, 101, 102, 103, 104, 105, 201, 202, 203, 204, 205, 301, 302, 302, 304, 305, 401, 402, 403, 404, 405, 1010, 1020, 1030, 1040, 1050, 2010, 2020, 2030, 2040, 2050, 3010, 3020, 3030, 3040, 3050, 4010, 4020, 4030, 4040, 4050}; { af::array aa(sizeof(ha) / sizeof(float), ha); af::array aa0 = aa(af::seq(1, af::end)); af::array aa1 = af::moddims(aa0, 5, 4, 2); af::array aa2 = aa1(af::seq(3), af::seq(3), af::span); af_print(aa2); }
output:
aa2
[3 3 2 1]
101.0000 0.0000 -0.1090
102.0000 0.0000 0.0000
103.0000 0.0150 79.2937
0.0000 -0.1090 -3630856635678720.0000
0.0000 0.0000 0.0000
0.0150 79.2937 0.0000
Expected:
aa2
[3 3 2 1]
101.0000 201.0000 301.0000
102.0000 202.0000 302.0000
103.0000 203.0000 303.0000
1010.0000 2010.0000 3010.0000
1020.0000 2020.0000 3020.0000
1030.0000 2030.0000 3030.0000