| 52 | } |
| 53 | |
| 54 | static array dist_gfor1(array a, array b) { |
| 55 | array dist_mat = constant(0, (int)a.dims(1), (int)b.dims(1)); |
| 56 | |
| 57 | // GFOR along columns of a |
| 58 | gfor(seq ii, (int)a.dims(1)) { |
| 59 | array avec = a(span, ii); |
| 60 | |
| 61 | // Itere through columns of b |
| 62 | for (int jj = 0; jj < (int)b.dims(1); jj++) { |
| 63 | array bvec = b(span, jj); |
| 64 | |
| 65 | // get SAD using sum on the vector |
| 66 | dist_mat(ii, jj) = sum(abs(avec - bvec)); |
| 67 | } |
| 68 | } |
| 69 | |
| 70 | return dist_mat; |
| 71 | } |
| 72 | |
| 73 | static array dist_gfor2(array a, array b) { |
| 74 | array dist_mat = constant(0, (int)a.dims(1), (int)b.dims(1)); |