|
74 | 74 | npy_intp is1 = steps[0], os1 = steps[1];\ |
75 | 75 | npy_intp n = dimensions[0];\ |
76 | 76 | npy_intp i;\ |
77 | | - for(i = 0; i < n; i++, ip1 += is1, op1 += os1) |
| 77 | + for(i = 0; i < n; ++i, ip1 += is1, op1 += os1) |
78 | 78 |
|
79 | | -#define UNARY_LOOP_VECTORIZED\ |
80 | | - char *ip1 = args[0], *op1 = args[1];\ |
81 | | - npy_intp is1 = steps[0], os1 = steps[1];\ |
| 79 | +#define UNARY_LOOP_VECTORIZED(tin, tout)\ |
| 80 | + tin *ip1 = (tin *) args[0];\ |
| 81 | + tout *op1 = (tout *) args[1]; \ |
82 | 82 | npy_intp n = dimensions[0];\ |
83 | 83 | npy_intp i;\ |
84 | 84 | NPY_PRAGMA_VECTOR\ |
85 | | - for(i = 0; i < n; i++, ip1 += is1, op1 += os1) |
| 85 | + for(i = 0; i < n; ++i, ++ip1, ++op1) |
86 | 86 |
|
87 | | -#define UNARY_LOOP_DISPATCH(cond, body)\ |
| 87 | +#define UNARY_LOOP_DISPATCH(tin, tout, cond, body)\ |
88 | 88 | if (cond) {\ |
89 | | - UNARY_LOOP_VECTORIZED { body; }\ |
| 89 | + UNARY_LOOP_VECTORIZED(tin, tout) { body; }\ |
90 | 90 | } else {\ |
91 | 91 | UNARY_LOOP { body; }\ |
92 | 92 | } |
|
97 | 97 | npy_intp is1 = steps[0], os1 = steps[1], os2 = steps[2];\ |
98 | 98 | npy_intp n = dimensions[0];\ |
99 | 99 | npy_intp i;\ |
100 | | - for(i = 0; i < n; i++, ip1 += is1, op1 += os1, op2 += os2) |
| 100 | + for(i = 0; i < n; ++i, ip1 += is1, op1 += os1, op2 += os2) |
101 | 101 |
|
102 | 102 | /** (ip1, ip2) -> (op1) */ |
103 | 103 | #define BINARY_LOOP\ |
104 | 104 | char *ip1 = args[0], *ip2 = args[1], *op1 = args[2];\ |
105 | 105 | npy_intp is1 = steps[0], is2 = steps[1], os1 = steps[2];\ |
106 | 106 | npy_intp n = dimensions[0];\ |
107 | 107 | npy_intp i;\ |
108 | | - for(i = 0; i < n; i++, ip1 += is1, ip2 += is2, op1 += os1) |
| 108 | + for(i = 0; i < n; ++i, ip1 += is1, ip2 += is2, op1 += os1) |
109 | 109 |
|
110 | 110 | /** (ip1, ip2) -> (op1, op2) */ |
111 | 111 | #define BINARY_LOOP_TWO_OUT\ |
112 | 112 | char *ip1 = args[0], *ip2 = args[1], *op1 = args[2], *op2 = args[3];\ |
113 | 113 | npy_intp is1 = steps[0], is2 = steps[1], os1 = steps[2], os2 = steps[3];\ |
114 | 114 | npy_intp n = dimensions[0];\ |
115 | 115 | npy_intp i;\ |
116 | | - for(i = 0; i < n; i++, ip1 += is1, ip2 += is2, op1 += os1, op2 += os2) |
| 116 | + for(i = 0; i < n; ++i, ip1 += is1, ip2 += is2, op1 += os1, op2 += os2) |
117 | 117 |
|
118 | 118 | /** (ip1, ip2, ip3) -> (op1) */ |
119 | 119 | #define TERNARY_LOOP\ |
120 | 120 | char *ip1 = args[0], *ip2 = args[1], *ip3 = args[2], *op1 = args[3];\ |
121 | 121 | npy_intp is1 = steps[0], is2 = steps[1], is3 = steps[2], os1 = steps[3];\ |
122 | 122 | npy_intp n = dimensions[0];\ |
123 | 123 | npy_intp i;\ |
124 | | - for(i = 0; i < n; i++, ip1 += is1, ip2 += is2, ip3 += is3, op1 += os1) |
| 124 | + for(i = 0; i < n; ++i, ip1 += is1, ip2 += is2, ip3 += is3, op1 += os1) |
125 | 125 |
|
126 | 126 | /** @} */ |
127 | 127 |
|
|
0 commit comments