|
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