axes
This check is very important, without it out of bounds data accesses are possible.
op and op_flags
Set the dtypes to all NULL to start as well
op_request_dtypes
For broadcasting allocated arrays
Clear any unnecessary ALLOCATE flags, so we can use them to indicate exactly the allocated outputs. Also, separate the inner loop flags.
Clear any flags allowing copies or output allocation for the inner loop.
If buffering is enabled and copying is not, clear the nbo_aligned flag and strip the data type for the outer loops.
Only the inner loop gets the buffering and no inner flags
All the operands' op_axes are the same, except for allocated outputs.
printf("n"); for (iop = 0; iop < nop; ++iop) {
System Message: ERROR/3 (<string>
, line 4) Unexpected indentation.
<blockquote>
npy_intp i;
- for (i = 0; i < nested_naxes[inest]; ++i) {
- printf("d ", (int)op_axes_nop[iop][i]);
System Message: WARNING/2 (<string>
, line 8) Definition list ends without a blank line; unexpected unindent.
} printf("n"); </blockquote>
System Message: WARNING/2 (<string>
, line 10) Block quote ends without a blank line; unexpected unindent.
}
Allocate the iterator
Cache some values for the member functions to use
If there are any allocated outputs or any copies were made, adjust op so that the other iterators use the same ones.
Clear any flags allowing copies for the rest of the iterators
Clear the common dtype flag for the rest of the iterators
Release our references to the ops and dtypes
Set up the nested child references
Indicates which iterator to reset with new base pointers each iteration step.
Need to do a nested reset so all the iterators point at the right data
Referenced by _vec_string_no_args().