
#line 638 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP.pm"
/*
 * THIS FILE WAS GENERATED BY PDL::PP! Do not modify!
 */

#define PDL_COMMENT(comment)
PDL_COMMENT("This preprocessor symbol is used to add commentary in the PDL  ")
PDL_COMMENT("autogenerated code. Normally, one would use typical C-style    ")
PDL_COMMENT("multiline comments (i.e. /* comment */). However, because such ")
PDL_COMMENT("comments do not nest, it's not possible for PDL::PP users to   ")
PDL_COMMENT("comment-out sections of code using multiline comments, as is   ")
PDL_COMMENT("often the practice when debugging, for example. So, when you   ")
PDL_COMMENT("see something like this:                                       ")
PDL_COMMENT("                                                               ")
                PDL_COMMENT("Memory access")
PDL_COMMENT("                                                               ")
PDL_COMMENT("just think of it as a C multiline comment like:                ")
PDL_COMMENT("                                                               ")
PDL_COMMENT("   /* Memory access */                                         ")

#define PDL_FREE_CODE(trans, destroy, comp_free_code, ntpriv_free_code) \
    if (destroy) { \
	comp_free_code \
    } \
    if ((trans)->dims_redone) { \
	ntpriv_free_code \
    }

#include "EXTERN.h"
#include "perl.h"
#include "XSUB.h"
#include "pdl.h"
#include "pdlcore.h"
#define PDL PDL_NDBin_Actions_PP
extern Core* PDL; PDL_COMMENT("Structure hold core C functions")
static int __pdl_boundscheck = 0;
static SV* CoreSV;       PDL_COMMENT("Gets pointer to perl var holding core structure")

#if ! 1
# define PP_INDTERM(max, at) at
#else
# define PP_INDTERM(max, at) (__pdl_boundscheck? PDL->safe_indterm(max,at, __FILE__, __LINE__) : at)
#endif
#line 46 "pp-_imax_loop.c"

#line 2074 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP.pm"
typedef struct pdl_params__imax_loop {
PDL_Indx  msize;} pdl_params__imax_loop;
#line 51 "pp-_imax_loop.c"



#line 1295 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP.pm"
pdl_error pdl__imax_loop_redodims(pdl_trans *__privtrans) {
pdl_error PDL_err = {0, NULL, 0};
  pdl_params__imax_loop *__params = __privtrans->params;
__privtrans->ind_sizes[0] = __params->msize;
PDL_RETERROR(PDL_err, PDL->redodims_default(__privtrans));return PDL_err;}
#line 61 "pp-_imax_loop.c"



#line 1295 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP.pm"
pdl_error pdl__imax_loop_readdata(pdl_trans *__privtrans) {
pdl_error PDL_err = {0, NULL, 0};
  pdl_params__imax_loop *__params = __privtrans->params;
register PDL_Indx __n_size = __privtrans->ind_sizes[1];

#line 154 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"
PDL_COMMENT("threadloop declarations")
int __thrloopval;
register PDL_Indx __tind0,__tind1; PDL_COMMENT("counters along dim")
register PDL_Indx __tnpdls = __privtrans->pdlthread.npdls;
PDL_COMMENT("dims here are how many steps along those dims")
register PDL_Indx __tinc0_in = PDL_THR_INC(__privtrans->pdlthread.incs,__tnpdls,0,0);
register PDL_Indx __tinc0_idx = PDL_THR_INC(__privtrans->pdlthread.incs,__tnpdls,1,0);
register PDL_Indx __tinc0_out = PDL_THR_INC(__privtrans->pdlthread.incs,__tnpdls,2,0);
register PDL_Indx __tinc1_in = PDL_THR_INC(__privtrans->pdlthread.incs,__tnpdls,0,1);
register PDL_Indx __tinc1_idx = PDL_THR_INC(__privtrans->pdlthread.incs,__tnpdls,1,1);
register PDL_Indx __tinc1_out = PDL_THR_INC(__privtrans->pdlthread.incs,__tnpdls,2,1);

#line 193 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"
#define PDL_STARTTHREADLOOP__imax_loop(funcName) \
__thrloopval = PDL->startthreadloop(&(__privtrans->pdlthread),__privtrans->vtable->funcName, __privtrans, &PDL_err); \
if (PDL_err.error) return PDL_err; \
if ( __thrloopval < 0 ) return PDL->make_error_simple(PDL_EFATAL, "Error starting threadloop"); \
if ( __thrloopval ) return PDL_err; \
       do { \
	    PDL_Indx *__tdims = PDL->get_threaddims(&__privtrans->pdlthread); \
	    if (!__tdims) return PDL->make_error_simple(PDL_EFATAL, "Error in get_threaddims"); \
	    register PDL_Indx __tdims1 = __tdims[1]; \
	    register PDL_Indx __tdims0 = __tdims[0]; \
	    register PDL_Indx *__offsp = PDL->get_threadoffsp(&__privtrans->pdlthread); \
	    if (!__offsp ) return PDL->make_error_simple(PDL_EFATAL, "Error in get_threadoffsp"); \
      PDL_COMMENT("incs are each pdl's stride, declared at func start") \
      PDL_COMMENT("offs are each pthread's starting offset into each pdl") \
in_datap += __offsp[0]; \
idx_datap += __offsp[1]; \
out_datap += __offsp[2]; \
      for( __tind1 = 0 ; \
	    __tind1 < __tdims1 ; \
	    __tind1++ \
	    PDL_COMMENT("step by tinc1, undoing inner-loop of tinc0*tdims0") \
		,in_datap += __tinc1_in - __tinc0_in * __tdims0 \
		,idx_datap += __tinc1_idx - __tinc0_idx * __tdims0 \
		,out_datap += __tinc1_out - __tinc0_out * __tdims0 \
	 ) \
      { \
	 for( __tind0 = 0 ; \
	      __tind0 < __tdims0 ; \
	      __tind0++ \
		,in_datap += __tinc0_in \
		,idx_datap += __tinc0_idx \
		,out_datap += __tinc0_out \
	   ) { \
      PDL_COMMENT("This is the tightest threadloop. Make sure inside is optimal.")
#line 201 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"


#line 229 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"
#define PDL_ENDTHREADLOOP__imax_loop \
} \
} \
PDL_COMMENT("undo outer-loop of tinc1*tdims1, and original per-pthread offset") \
in_datap -= __tinc1_in * __tdims1 + __offsp[0]; \
idx_datap -= __tinc1_idx * __tdims1 + __offsp[1]; \
out_datap -= __tinc1_out * __tdims1 + __offsp[2]; \
__thrloopval = PDL->iterthreadloop(&__privtrans->pdlthread,2); \
if ( __thrloopval < 0 ) return PDL->make_error_simple(PDL_EFATAL, "Error in iterthreadloop"); \
} while(__thrloopval);
#line 215 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"
#line 1363 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP.pm"

#line 179 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"
#define PDL_DECLARE_PARAMS__imax_loop(PDL_PARAMTYPE_in,PDL_PARAMTYPE_idx,PDL_PARAMTYPE_out) \
  PDL_DECLARE_PARAMETER_BADVAL(PDL_PARAMTYPE_in, (__privtrans->vtable->per_pdl_flags[0]), in, (__privtrans->pdls[0])) \
PDL_DECLARE_PARAMETER_BADVAL(PDL_PARAMTYPE_idx, (__privtrans->vtable->per_pdl_flags[1]), idx, (__privtrans->pdls[1])) \
PDL_DECLARE_PARAMETER_BADVAL(PDL_PARAMTYPE_out, (__privtrans->vtable->per_pdl_flags[2]), out, (__privtrans->pdls[2]))
#line 1370 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP.pm"
register PDL_Indx __inc_idx_n = __privtrans->inc_sizes[PDL_INC_ID(__privtrans->vtable,1,0)]; (void)__inc_idx_n;
register PDL_Indx __inc_in_n = __privtrans->inc_sizes[PDL_INC_ID(__privtrans->vtable,0,0)]; (void)__inc_in_n;
register PDL_Indx __inc_out_m = __privtrans->inc_sizes[PDL_INC_ID(__privtrans->vtable,2,0)]; (void)__inc_out_m;
PDL_COMMENT("Start generic loop")
	switch(__privtrans->__datatype) {

#line 532 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"
case PDL_SB: {
#line 1379 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP.pm"

#line 528 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"
		PDL_DECLARE_PARAMS__imax_loop(PDL_SByte,PDL_Indx,PDL_SByte)
#line 1383 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP.pm"

#line 447 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"
if ( __privtrans->bvalflag ) { PDL_COMMENT("** do 'bad' Code **")
#define PDL_BAD_CODE
  PDL_STARTTHREADLOOP__imax_loop(readdata){

		
#line 480 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"
{PDL_COMMENT("Open n") register PDL_Indx n;
for(n=0; n<(__n_size); n++) {
#line 455 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"

			if( (PDL_ISBAD((idx_datap)[0+(__inc_idx_n*PP_INDTERM(__privtrans->ind_sizes[1], n))],idx_badval,N)) || (PDL_ISBAD((in_datap)[0+(__inc_in_n*PP_INDTERM(__privtrans->ind_sizes[1], n))],in_badval,A)) ) continue;
			register PDL_Indx j = (idx_datap)[0+(__inc_idx_n*PP_INDTERM(__privtrans->ind_sizes[1], n))];
			if( (PDL_ISBAD((out_datap)[0+(__inc_out_m*PP_INDTERM(__privtrans->ind_sizes[0], j))],out_badval,A)) || ((in_datap)[0+(__inc_in_n*PP_INDTERM(__privtrans->ind_sizes[1], n))] > (out_datap)[0+(__inc_out_m*PP_INDTERM(__privtrans->ind_sizes[0], j))]) ) {
				(out_datap)[0+(__inc_out_m*PP_INDTERM(__privtrans->ind_sizes[0], j))] = (in_datap)[0+(__inc_in_n*PP_INDTERM(__privtrans->ind_sizes[1], n))];
			}
		
#line 489 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"
}} PDL_COMMENT("Close n")
#line 465 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"

	
}PDL_ENDTHREADLOOP__imax_loop
#undef PDL_BAD_CODE
} else { PDL_COMMENT("** else do 'good' Code **")
  PDL_STARTTHREADLOOP__imax_loop(readdata){

		
#line 480 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"
{PDL_COMMENT("Open n") register PDL_Indx n;
for(n=0; n<(__n_size); n++) {
#line 477 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"

			register PDL_Indx j = (idx_datap)[0+(__inc_idx_n*PP_INDTERM(__privtrans->ind_sizes[1], n))];
			if( (PDL_ISBAD((out_datap)[0+(__inc_out_m*PP_INDTERM(__privtrans->ind_sizes[0], j))],out_badval,A)) || ((in_datap)[0+(__inc_in_n*PP_INDTERM(__privtrans->ind_sizes[1], n))] > (out_datap)[0+(__inc_out_m*PP_INDTERM(__privtrans->ind_sizes[0], j))]) ) {
				(out_datap)[0+(__inc_out_m*PP_INDTERM(__privtrans->ind_sizes[0], j))] = (in_datap)[0+(__inc_in_n*PP_INDTERM(__privtrans->ind_sizes[1], n))];
			}
		
#line 489 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"
}} PDL_COMMENT("Close n")
#line 486 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"

	
}PDL_ENDTHREADLOOP__imax_loop
}
#line 1430 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP.pm"

#line 539 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"
} break;
#line 1434 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP.pm"

#line 532 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"
case PDL_B: {
#line 1438 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP.pm"

#line 528 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"
		PDL_DECLARE_PARAMS__imax_loop(PDL_Byte,PDL_Indx,PDL_Byte)
#line 1442 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP.pm"

#line 447 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"
if ( __privtrans->bvalflag ) { PDL_COMMENT("** do 'bad' Code **")
#define PDL_BAD_CODE
  PDL_STARTTHREADLOOP__imax_loop(readdata){

		
#line 480 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"
{PDL_COMMENT("Open n") register PDL_Indx n;
for(n=0; n<(__n_size); n++) {
#line 455 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"

			if( (PDL_ISBAD((idx_datap)[0+(__inc_idx_n*PP_INDTERM(__privtrans->ind_sizes[1], n))],idx_badval,N)) || (PDL_ISBAD((in_datap)[0+(__inc_in_n*PP_INDTERM(__privtrans->ind_sizes[1], n))],in_badval,B)) ) continue;
			register PDL_Indx j = (idx_datap)[0+(__inc_idx_n*PP_INDTERM(__privtrans->ind_sizes[1], n))];
			if( (PDL_ISBAD((out_datap)[0+(__inc_out_m*PP_INDTERM(__privtrans->ind_sizes[0], j))],out_badval,B)) || ((in_datap)[0+(__inc_in_n*PP_INDTERM(__privtrans->ind_sizes[1], n))] > (out_datap)[0+(__inc_out_m*PP_INDTERM(__privtrans->ind_sizes[0], j))]) ) {
				(out_datap)[0+(__inc_out_m*PP_INDTERM(__privtrans->ind_sizes[0], j))] = (in_datap)[0+(__inc_in_n*PP_INDTERM(__privtrans->ind_sizes[1], n))];
			}
		
#line 489 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"
}} PDL_COMMENT("Close n")
#line 465 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"

	
}PDL_ENDTHREADLOOP__imax_loop
#undef PDL_BAD_CODE
} else { PDL_COMMENT("** else do 'good' Code **")
  PDL_STARTTHREADLOOP__imax_loop(readdata){

		
#line 480 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"
{PDL_COMMENT("Open n") register PDL_Indx n;
for(n=0; n<(__n_size); n++) {
#line 477 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"

			register PDL_Indx j = (idx_datap)[0+(__inc_idx_n*PP_INDTERM(__privtrans->ind_sizes[1], n))];
			if( (PDL_ISBAD((out_datap)[0+(__inc_out_m*PP_INDTERM(__privtrans->ind_sizes[0], j))],out_badval,B)) || ((in_datap)[0+(__inc_in_n*PP_INDTERM(__privtrans->ind_sizes[1], n))] > (out_datap)[0+(__inc_out_m*PP_INDTERM(__privtrans->ind_sizes[0], j))]) ) {
				(out_datap)[0+(__inc_out_m*PP_INDTERM(__privtrans->ind_sizes[0], j))] = (in_datap)[0+(__inc_in_n*PP_INDTERM(__privtrans->ind_sizes[1], n))];
			}
		
#line 489 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"
}} PDL_COMMENT("Close n")
#line 486 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"

	
}PDL_ENDTHREADLOOP__imax_loop
}
#line 1489 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP.pm"

#line 539 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"
} break;
#line 1493 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP.pm"

#line 532 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"
case PDL_S: {
#line 1497 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP.pm"

#line 528 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"
		PDL_DECLARE_PARAMS__imax_loop(PDL_Short,PDL_Indx,PDL_Short)
#line 1501 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP.pm"

#line 447 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"
if ( __privtrans->bvalflag ) { PDL_COMMENT("** do 'bad' Code **")
#define PDL_BAD_CODE
  PDL_STARTTHREADLOOP__imax_loop(readdata){

		
#line 480 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"
{PDL_COMMENT("Open n") register PDL_Indx n;
for(n=0; n<(__n_size); n++) {
#line 455 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"

			if( (PDL_ISBAD((idx_datap)[0+(__inc_idx_n*PP_INDTERM(__privtrans->ind_sizes[1], n))],idx_badval,N)) || (PDL_ISBAD((in_datap)[0+(__inc_in_n*PP_INDTERM(__privtrans->ind_sizes[1], n))],in_badval,S)) ) continue;
			register PDL_Indx j = (idx_datap)[0+(__inc_idx_n*PP_INDTERM(__privtrans->ind_sizes[1], n))];
			if( (PDL_ISBAD((out_datap)[0+(__inc_out_m*PP_INDTERM(__privtrans->ind_sizes[0], j))],out_badval,S)) || ((in_datap)[0+(__inc_in_n*PP_INDTERM(__privtrans->ind_sizes[1], n))] > (out_datap)[0+(__inc_out_m*PP_INDTERM(__privtrans->ind_sizes[0], j))]) ) {
				(out_datap)[0+(__inc_out_m*PP_INDTERM(__privtrans->ind_sizes[0], j))] = (in_datap)[0+(__inc_in_n*PP_INDTERM(__privtrans->ind_sizes[1], n))];
			}
		
#line 489 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"
}} PDL_COMMENT("Close n")
#line 465 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"

	
}PDL_ENDTHREADLOOP__imax_loop
#undef PDL_BAD_CODE
} else { PDL_COMMENT("** else do 'good' Code **")
  PDL_STARTTHREADLOOP__imax_loop(readdata){

		
#line 480 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"
{PDL_COMMENT("Open n") register PDL_Indx n;
for(n=0; n<(__n_size); n++) {
#line 477 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"

			register PDL_Indx j = (idx_datap)[0+(__inc_idx_n*PP_INDTERM(__privtrans->ind_sizes[1], n))];
			if( (PDL_ISBAD((out_datap)[0+(__inc_out_m*PP_INDTERM(__privtrans->ind_sizes[0], j))],out_badval,S)) || ((in_datap)[0+(__inc_in_n*PP_INDTERM(__privtrans->ind_sizes[1], n))] > (out_datap)[0+(__inc_out_m*PP_INDTERM(__privtrans->ind_sizes[0], j))]) ) {
				(out_datap)[0+(__inc_out_m*PP_INDTERM(__privtrans->ind_sizes[0], j))] = (in_datap)[0+(__inc_in_n*PP_INDTERM(__privtrans->ind_sizes[1], n))];
			}
		
#line 489 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"
}} PDL_COMMENT("Close n")
#line 486 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"

	
}PDL_ENDTHREADLOOP__imax_loop
}
#line 1548 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP.pm"

#line 539 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"
} break;
#line 1552 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP.pm"

#line 532 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"
case PDL_US: {
#line 1556 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP.pm"

#line 528 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"
		PDL_DECLARE_PARAMS__imax_loop(PDL_Ushort,PDL_Indx,PDL_Ushort)
#line 1560 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP.pm"

#line 447 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"
if ( __privtrans->bvalflag ) { PDL_COMMENT("** do 'bad' Code **")
#define PDL_BAD_CODE
  PDL_STARTTHREADLOOP__imax_loop(readdata){

		
#line 480 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"
{PDL_COMMENT("Open n") register PDL_Indx n;
for(n=0; n<(__n_size); n++) {
#line 455 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"

			if( (PDL_ISBAD((idx_datap)[0+(__inc_idx_n*PP_INDTERM(__privtrans->ind_sizes[1], n))],idx_badval,N)) || (PDL_ISBAD((in_datap)[0+(__inc_in_n*PP_INDTERM(__privtrans->ind_sizes[1], n))],in_badval,U)) ) continue;
			register PDL_Indx j = (idx_datap)[0+(__inc_idx_n*PP_INDTERM(__privtrans->ind_sizes[1], n))];
			if( (PDL_ISBAD((out_datap)[0+(__inc_out_m*PP_INDTERM(__privtrans->ind_sizes[0], j))],out_badval,U)) || ((in_datap)[0+(__inc_in_n*PP_INDTERM(__privtrans->ind_sizes[1], n))] > (out_datap)[0+(__inc_out_m*PP_INDTERM(__privtrans->ind_sizes[0], j))]) ) {
				(out_datap)[0+(__inc_out_m*PP_INDTERM(__privtrans->ind_sizes[0], j))] = (in_datap)[0+(__inc_in_n*PP_INDTERM(__privtrans->ind_sizes[1], n))];
			}
		
#line 489 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"
}} PDL_COMMENT("Close n")
#line 465 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"

	
}PDL_ENDTHREADLOOP__imax_loop
#undef PDL_BAD_CODE
} else { PDL_COMMENT("** else do 'good' Code **")
  PDL_STARTTHREADLOOP__imax_loop(readdata){

		
#line 480 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"
{PDL_COMMENT("Open n") register PDL_Indx n;
for(n=0; n<(__n_size); n++) {
#line 477 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"

			register PDL_Indx j = (idx_datap)[0+(__inc_idx_n*PP_INDTERM(__privtrans->ind_sizes[1], n))];
			if( (PDL_ISBAD((out_datap)[0+(__inc_out_m*PP_INDTERM(__privtrans->ind_sizes[0], j))],out_badval,U)) || ((in_datap)[0+(__inc_in_n*PP_INDTERM(__privtrans->ind_sizes[1], n))] > (out_datap)[0+(__inc_out_m*PP_INDTERM(__privtrans->ind_sizes[0], j))]) ) {
				(out_datap)[0+(__inc_out_m*PP_INDTERM(__privtrans->ind_sizes[0], j))] = (in_datap)[0+(__inc_in_n*PP_INDTERM(__privtrans->ind_sizes[1], n))];
			}
		
#line 489 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"
}} PDL_COMMENT("Close n")
#line 486 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"

	
}PDL_ENDTHREADLOOP__imax_loop
}
#line 1607 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP.pm"

#line 539 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"
} break;
#line 1611 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP.pm"

#line 532 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"
case PDL_L: {
#line 1615 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP.pm"

#line 528 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"
		PDL_DECLARE_PARAMS__imax_loop(PDL_Long,PDL_Indx,PDL_Long)
#line 1619 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP.pm"

#line 447 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"
if ( __privtrans->bvalflag ) { PDL_COMMENT("** do 'bad' Code **")
#define PDL_BAD_CODE
  PDL_STARTTHREADLOOP__imax_loop(readdata){

		
#line 480 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"
{PDL_COMMENT("Open n") register PDL_Indx n;
for(n=0; n<(__n_size); n++) {
#line 455 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"

			if( (PDL_ISBAD((idx_datap)[0+(__inc_idx_n*PP_INDTERM(__privtrans->ind_sizes[1], n))],idx_badval,N)) || (PDL_ISBAD((in_datap)[0+(__inc_in_n*PP_INDTERM(__privtrans->ind_sizes[1], n))],in_badval,L)) ) continue;
			register PDL_Indx j = (idx_datap)[0+(__inc_idx_n*PP_INDTERM(__privtrans->ind_sizes[1], n))];
			if( (PDL_ISBAD((out_datap)[0+(__inc_out_m*PP_INDTERM(__privtrans->ind_sizes[0], j))],out_badval,L)) || ((in_datap)[0+(__inc_in_n*PP_INDTERM(__privtrans->ind_sizes[1], n))] > (out_datap)[0+(__inc_out_m*PP_INDTERM(__privtrans->ind_sizes[0], j))]) ) {
				(out_datap)[0+(__inc_out_m*PP_INDTERM(__privtrans->ind_sizes[0], j))] = (in_datap)[0+(__inc_in_n*PP_INDTERM(__privtrans->ind_sizes[1], n))];
			}
		
#line 489 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"
}} PDL_COMMENT("Close n")
#line 465 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"

	
}PDL_ENDTHREADLOOP__imax_loop
#undef PDL_BAD_CODE
} else { PDL_COMMENT("** else do 'good' Code **")
  PDL_STARTTHREADLOOP__imax_loop(readdata){

		
#line 480 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"
{PDL_COMMENT("Open n") register PDL_Indx n;
for(n=0; n<(__n_size); n++) {
#line 477 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"

			register PDL_Indx j = (idx_datap)[0+(__inc_idx_n*PP_INDTERM(__privtrans->ind_sizes[1], n))];
			if( (PDL_ISBAD((out_datap)[0+(__inc_out_m*PP_INDTERM(__privtrans->ind_sizes[0], j))],out_badval,L)) || ((in_datap)[0+(__inc_in_n*PP_INDTERM(__privtrans->ind_sizes[1], n))] > (out_datap)[0+(__inc_out_m*PP_INDTERM(__privtrans->ind_sizes[0], j))]) ) {
				(out_datap)[0+(__inc_out_m*PP_INDTERM(__privtrans->ind_sizes[0], j))] = (in_datap)[0+(__inc_in_n*PP_INDTERM(__privtrans->ind_sizes[1], n))];
			}
		
#line 489 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"
}} PDL_COMMENT("Close n")
#line 486 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"

	
}PDL_ENDTHREADLOOP__imax_loop
}
#line 1666 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP.pm"

#line 539 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"
} break;
#line 1670 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP.pm"

#line 532 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"
case PDL_UL: {
#line 1674 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP.pm"

#line 528 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"
		PDL_DECLARE_PARAMS__imax_loop(PDL_ULong,PDL_Indx,PDL_ULong)
#line 1678 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP.pm"

#line 447 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"
if ( __privtrans->bvalflag ) { PDL_COMMENT("** do 'bad' Code **")
#define PDL_BAD_CODE
  PDL_STARTTHREADLOOP__imax_loop(readdata){

		
#line 480 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"
{PDL_COMMENT("Open n") register PDL_Indx n;
for(n=0; n<(__n_size); n++) {
#line 455 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"

			if( (PDL_ISBAD((idx_datap)[0+(__inc_idx_n*PP_INDTERM(__privtrans->ind_sizes[1], n))],idx_badval,N)) || (PDL_ISBAD((in_datap)[0+(__inc_in_n*PP_INDTERM(__privtrans->ind_sizes[1], n))],in_badval,K)) ) continue;
			register PDL_Indx j = (idx_datap)[0+(__inc_idx_n*PP_INDTERM(__privtrans->ind_sizes[1], n))];
			if( (PDL_ISBAD((out_datap)[0+(__inc_out_m*PP_INDTERM(__privtrans->ind_sizes[0], j))],out_badval,K)) || ((in_datap)[0+(__inc_in_n*PP_INDTERM(__privtrans->ind_sizes[1], n))] > (out_datap)[0+(__inc_out_m*PP_INDTERM(__privtrans->ind_sizes[0], j))]) ) {
				(out_datap)[0+(__inc_out_m*PP_INDTERM(__privtrans->ind_sizes[0], j))] = (in_datap)[0+(__inc_in_n*PP_INDTERM(__privtrans->ind_sizes[1], n))];
			}
		
#line 489 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"
}} PDL_COMMENT("Close n")
#line 465 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"

	
}PDL_ENDTHREADLOOP__imax_loop
#undef PDL_BAD_CODE
} else { PDL_COMMENT("** else do 'good' Code **")
  PDL_STARTTHREADLOOP__imax_loop(readdata){

		
#line 480 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"
{PDL_COMMENT("Open n") register PDL_Indx n;
for(n=0; n<(__n_size); n++) {
#line 477 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"

			register PDL_Indx j = (idx_datap)[0+(__inc_idx_n*PP_INDTERM(__privtrans->ind_sizes[1], n))];
			if( (PDL_ISBAD((out_datap)[0+(__inc_out_m*PP_INDTERM(__privtrans->ind_sizes[0], j))],out_badval,K)) || ((in_datap)[0+(__inc_in_n*PP_INDTERM(__privtrans->ind_sizes[1], n))] > (out_datap)[0+(__inc_out_m*PP_INDTERM(__privtrans->ind_sizes[0], j))]) ) {
				(out_datap)[0+(__inc_out_m*PP_INDTERM(__privtrans->ind_sizes[0], j))] = (in_datap)[0+(__inc_in_n*PP_INDTERM(__privtrans->ind_sizes[1], n))];
			}
		
#line 489 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"
}} PDL_COMMENT("Close n")
#line 486 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"

	
}PDL_ENDTHREADLOOP__imax_loop
}
#line 1725 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP.pm"

#line 539 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"
} break;
#line 1729 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP.pm"

#line 532 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"
case PDL_IND: {
#line 1733 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP.pm"

#line 528 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"
		PDL_DECLARE_PARAMS__imax_loop(PDL_Indx,PDL_Indx,PDL_Indx)
#line 1737 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP.pm"

#line 447 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"
if ( __privtrans->bvalflag ) { PDL_COMMENT("** do 'bad' Code **")
#define PDL_BAD_CODE
  PDL_STARTTHREADLOOP__imax_loop(readdata){

		
#line 480 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"
{PDL_COMMENT("Open n") register PDL_Indx n;
for(n=0; n<(__n_size); n++) {
#line 455 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"

			if( (PDL_ISBAD((idx_datap)[0+(__inc_idx_n*PP_INDTERM(__privtrans->ind_sizes[1], n))],idx_badval,N)) || (PDL_ISBAD((in_datap)[0+(__inc_in_n*PP_INDTERM(__privtrans->ind_sizes[1], n))],in_badval,N)) ) continue;
			register PDL_Indx j = (idx_datap)[0+(__inc_idx_n*PP_INDTERM(__privtrans->ind_sizes[1], n))];
			if( (PDL_ISBAD((out_datap)[0+(__inc_out_m*PP_INDTERM(__privtrans->ind_sizes[0], j))],out_badval,N)) || ((in_datap)[0+(__inc_in_n*PP_INDTERM(__privtrans->ind_sizes[1], n))] > (out_datap)[0+(__inc_out_m*PP_INDTERM(__privtrans->ind_sizes[0], j))]) ) {
				(out_datap)[0+(__inc_out_m*PP_INDTERM(__privtrans->ind_sizes[0], j))] = (in_datap)[0+(__inc_in_n*PP_INDTERM(__privtrans->ind_sizes[1], n))];
			}
		
#line 489 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"
}} PDL_COMMENT("Close n")
#line 465 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"

	
}PDL_ENDTHREADLOOP__imax_loop
#undef PDL_BAD_CODE
} else { PDL_COMMENT("** else do 'good' Code **")
  PDL_STARTTHREADLOOP__imax_loop(readdata){

		
#line 480 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"
{PDL_COMMENT("Open n") register PDL_Indx n;
for(n=0; n<(__n_size); n++) {
#line 477 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"

			register PDL_Indx j = (idx_datap)[0+(__inc_idx_n*PP_INDTERM(__privtrans->ind_sizes[1], n))];
			if( (PDL_ISBAD((out_datap)[0+(__inc_out_m*PP_INDTERM(__privtrans->ind_sizes[0], j))],out_badval,N)) || ((in_datap)[0+(__inc_in_n*PP_INDTERM(__privtrans->ind_sizes[1], n))] > (out_datap)[0+(__inc_out_m*PP_INDTERM(__privtrans->ind_sizes[0], j))]) ) {
				(out_datap)[0+(__inc_out_m*PP_INDTERM(__privtrans->ind_sizes[0], j))] = (in_datap)[0+(__inc_in_n*PP_INDTERM(__privtrans->ind_sizes[1], n))];
			}
		
#line 489 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"
}} PDL_COMMENT("Close n")
#line 486 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"

	
}PDL_ENDTHREADLOOP__imax_loop
}
#line 1784 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP.pm"

#line 539 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"
} break;
#line 1788 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP.pm"

#line 532 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"
case PDL_ULL: {
#line 1792 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP.pm"

#line 528 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"
		PDL_DECLARE_PARAMS__imax_loop(PDL_ULongLong,PDL_Indx,PDL_ULongLong)
#line 1796 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP.pm"

#line 447 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"
if ( __privtrans->bvalflag ) { PDL_COMMENT("** do 'bad' Code **")
#define PDL_BAD_CODE
  PDL_STARTTHREADLOOP__imax_loop(readdata){

		
#line 480 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"
{PDL_COMMENT("Open n") register PDL_Indx n;
for(n=0; n<(__n_size); n++) {
#line 455 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"

			if( (PDL_ISBAD((idx_datap)[0+(__inc_idx_n*PP_INDTERM(__privtrans->ind_sizes[1], n))],idx_badval,N)) || (PDL_ISBAD((in_datap)[0+(__inc_in_n*PP_INDTERM(__privtrans->ind_sizes[1], n))],in_badval,P)) ) continue;
			register PDL_Indx j = (idx_datap)[0+(__inc_idx_n*PP_INDTERM(__privtrans->ind_sizes[1], n))];
			if( (PDL_ISBAD((out_datap)[0+(__inc_out_m*PP_INDTERM(__privtrans->ind_sizes[0], j))],out_badval,P)) || ((in_datap)[0+(__inc_in_n*PP_INDTERM(__privtrans->ind_sizes[1], n))] > (out_datap)[0+(__inc_out_m*PP_INDTERM(__privtrans->ind_sizes[0], j))]) ) {
				(out_datap)[0+(__inc_out_m*PP_INDTERM(__privtrans->ind_sizes[0], j))] = (in_datap)[0+(__inc_in_n*PP_INDTERM(__privtrans->ind_sizes[1], n))];
			}
		
#line 489 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"
}} PDL_COMMENT("Close n")
#line 465 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"

	
}PDL_ENDTHREADLOOP__imax_loop
#undef PDL_BAD_CODE
} else { PDL_COMMENT("** else do 'good' Code **")
  PDL_STARTTHREADLOOP__imax_loop(readdata){

		
#line 480 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"
{PDL_COMMENT("Open n") register PDL_Indx n;
for(n=0; n<(__n_size); n++) {
#line 477 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"

			register PDL_Indx j = (idx_datap)[0+(__inc_idx_n*PP_INDTERM(__privtrans->ind_sizes[1], n))];
			if( (PDL_ISBAD((out_datap)[0+(__inc_out_m*PP_INDTERM(__privtrans->ind_sizes[0], j))],out_badval,P)) || ((in_datap)[0+(__inc_in_n*PP_INDTERM(__privtrans->ind_sizes[1], n))] > (out_datap)[0+(__inc_out_m*PP_INDTERM(__privtrans->ind_sizes[0], j))]) ) {
				(out_datap)[0+(__inc_out_m*PP_INDTERM(__privtrans->ind_sizes[0], j))] = (in_datap)[0+(__inc_in_n*PP_INDTERM(__privtrans->ind_sizes[1], n))];
			}
		
#line 489 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"
}} PDL_COMMENT("Close n")
#line 486 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"

	
}PDL_ENDTHREADLOOP__imax_loop
}
#line 1843 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP.pm"

#line 539 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"
} break;
#line 1847 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP.pm"

#line 532 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"
case PDL_LL: {
#line 1851 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP.pm"

#line 528 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"
		PDL_DECLARE_PARAMS__imax_loop(PDL_LongLong,PDL_Indx,PDL_LongLong)
#line 1855 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP.pm"

#line 447 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"
if ( __privtrans->bvalflag ) { PDL_COMMENT("** do 'bad' Code **")
#define PDL_BAD_CODE
  PDL_STARTTHREADLOOP__imax_loop(readdata){

		
#line 480 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"
{PDL_COMMENT("Open n") register PDL_Indx n;
for(n=0; n<(__n_size); n++) {
#line 455 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"

			if( (PDL_ISBAD((idx_datap)[0+(__inc_idx_n*PP_INDTERM(__privtrans->ind_sizes[1], n))],idx_badval,N)) || (PDL_ISBAD((in_datap)[0+(__inc_in_n*PP_INDTERM(__privtrans->ind_sizes[1], n))],in_badval,Q)) ) continue;
			register PDL_Indx j = (idx_datap)[0+(__inc_idx_n*PP_INDTERM(__privtrans->ind_sizes[1], n))];
			if( (PDL_ISBAD((out_datap)[0+(__inc_out_m*PP_INDTERM(__privtrans->ind_sizes[0], j))],out_badval,Q)) || ((in_datap)[0+(__inc_in_n*PP_INDTERM(__privtrans->ind_sizes[1], n))] > (out_datap)[0+(__inc_out_m*PP_INDTERM(__privtrans->ind_sizes[0], j))]) ) {
				(out_datap)[0+(__inc_out_m*PP_INDTERM(__privtrans->ind_sizes[0], j))] = (in_datap)[0+(__inc_in_n*PP_INDTERM(__privtrans->ind_sizes[1], n))];
			}
		
#line 489 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"
}} PDL_COMMENT("Close n")
#line 465 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"

	
}PDL_ENDTHREADLOOP__imax_loop
#undef PDL_BAD_CODE
} else { PDL_COMMENT("** else do 'good' Code **")
  PDL_STARTTHREADLOOP__imax_loop(readdata){

		
#line 480 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"
{PDL_COMMENT("Open n") register PDL_Indx n;
for(n=0; n<(__n_size); n++) {
#line 477 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"

			register PDL_Indx j = (idx_datap)[0+(__inc_idx_n*PP_INDTERM(__privtrans->ind_sizes[1], n))];
			if( (PDL_ISBAD((out_datap)[0+(__inc_out_m*PP_INDTERM(__privtrans->ind_sizes[0], j))],out_badval,Q)) || ((in_datap)[0+(__inc_in_n*PP_INDTERM(__privtrans->ind_sizes[1], n))] > (out_datap)[0+(__inc_out_m*PP_INDTERM(__privtrans->ind_sizes[0], j))]) ) {
				(out_datap)[0+(__inc_out_m*PP_INDTERM(__privtrans->ind_sizes[0], j))] = (in_datap)[0+(__inc_in_n*PP_INDTERM(__privtrans->ind_sizes[1], n))];
			}
		
#line 489 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"
}} PDL_COMMENT("Close n")
#line 486 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"

	
}PDL_ENDTHREADLOOP__imax_loop
}
#line 1902 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP.pm"

#line 539 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"
} break;
#line 1906 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP.pm"

#line 532 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"
case PDL_F: {
#line 1910 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP.pm"

#line 528 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"
		PDL_DECLARE_PARAMS__imax_loop(PDL_Float,PDL_Indx,PDL_Float)
#line 1914 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP.pm"

#line 447 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"
if ( __privtrans->bvalflag ) { PDL_COMMENT("** do 'bad' Code **")
#define PDL_BAD_CODE
  PDL_STARTTHREADLOOP__imax_loop(readdata){

		
#line 480 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"
{PDL_COMMENT("Open n") register PDL_Indx n;
for(n=0; n<(__n_size); n++) {
#line 455 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"

			if( (PDL_ISBAD((idx_datap)[0+(__inc_idx_n*PP_INDTERM(__privtrans->ind_sizes[1], n))],idx_badval,N)) || (PDL_ISBAD((in_datap)[0+(__inc_in_n*PP_INDTERM(__privtrans->ind_sizes[1], n))],in_badval,F)) ) continue;
			register PDL_Indx j = (idx_datap)[0+(__inc_idx_n*PP_INDTERM(__privtrans->ind_sizes[1], n))];
			if( (PDL_ISBAD((out_datap)[0+(__inc_out_m*PP_INDTERM(__privtrans->ind_sizes[0], j))],out_badval,F)) || ((in_datap)[0+(__inc_in_n*PP_INDTERM(__privtrans->ind_sizes[1], n))] > (out_datap)[0+(__inc_out_m*PP_INDTERM(__privtrans->ind_sizes[0], j))]) ) {
				(out_datap)[0+(__inc_out_m*PP_INDTERM(__privtrans->ind_sizes[0], j))] = (in_datap)[0+(__inc_in_n*PP_INDTERM(__privtrans->ind_sizes[1], n))];
			}
		
#line 489 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"
}} PDL_COMMENT("Close n")
#line 465 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"

	
}PDL_ENDTHREADLOOP__imax_loop
#undef PDL_BAD_CODE
} else { PDL_COMMENT("** else do 'good' Code **")
  PDL_STARTTHREADLOOP__imax_loop(readdata){

		
#line 480 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"
{PDL_COMMENT("Open n") register PDL_Indx n;
for(n=0; n<(__n_size); n++) {
#line 477 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"

			register PDL_Indx j = (idx_datap)[0+(__inc_idx_n*PP_INDTERM(__privtrans->ind_sizes[1], n))];
			if( (PDL_ISBAD((out_datap)[0+(__inc_out_m*PP_INDTERM(__privtrans->ind_sizes[0], j))],out_badval,F)) || ((in_datap)[0+(__inc_in_n*PP_INDTERM(__privtrans->ind_sizes[1], n))] > (out_datap)[0+(__inc_out_m*PP_INDTERM(__privtrans->ind_sizes[0], j))]) ) {
				(out_datap)[0+(__inc_out_m*PP_INDTERM(__privtrans->ind_sizes[0], j))] = (in_datap)[0+(__inc_in_n*PP_INDTERM(__privtrans->ind_sizes[1], n))];
			}
		
#line 489 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"
}} PDL_COMMENT("Close n")
#line 486 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"

	
}PDL_ENDTHREADLOOP__imax_loop
}
#line 1961 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP.pm"

#line 539 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"
} break;
#line 1965 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP.pm"

#line 532 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"
case PDL_D: {
#line 1969 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP.pm"

#line 528 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"
		PDL_DECLARE_PARAMS__imax_loop(PDL_Double,PDL_Indx,PDL_Double)
#line 1973 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP.pm"

#line 447 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"
if ( __privtrans->bvalflag ) { PDL_COMMENT("** do 'bad' Code **")
#define PDL_BAD_CODE
  PDL_STARTTHREADLOOP__imax_loop(readdata){

		
#line 480 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"
{PDL_COMMENT("Open n") register PDL_Indx n;
for(n=0; n<(__n_size); n++) {
#line 455 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"

			if( (PDL_ISBAD((idx_datap)[0+(__inc_idx_n*PP_INDTERM(__privtrans->ind_sizes[1], n))],idx_badval,N)) || (PDL_ISBAD((in_datap)[0+(__inc_in_n*PP_INDTERM(__privtrans->ind_sizes[1], n))],in_badval,D)) ) continue;
			register PDL_Indx j = (idx_datap)[0+(__inc_idx_n*PP_INDTERM(__privtrans->ind_sizes[1], n))];
			if( (PDL_ISBAD((out_datap)[0+(__inc_out_m*PP_INDTERM(__privtrans->ind_sizes[0], j))],out_badval,D)) || ((in_datap)[0+(__inc_in_n*PP_INDTERM(__privtrans->ind_sizes[1], n))] > (out_datap)[0+(__inc_out_m*PP_INDTERM(__privtrans->ind_sizes[0], j))]) ) {
				(out_datap)[0+(__inc_out_m*PP_INDTERM(__privtrans->ind_sizes[0], j))] = (in_datap)[0+(__inc_in_n*PP_INDTERM(__privtrans->ind_sizes[1], n))];
			}
		
#line 489 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"
}} PDL_COMMENT("Close n")
#line 465 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"

	
}PDL_ENDTHREADLOOP__imax_loop
#undef PDL_BAD_CODE
} else { PDL_COMMENT("** else do 'good' Code **")
  PDL_STARTTHREADLOOP__imax_loop(readdata){

		
#line 480 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"
{PDL_COMMENT("Open n") register PDL_Indx n;
for(n=0; n<(__n_size); n++) {
#line 477 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"

			register PDL_Indx j = (idx_datap)[0+(__inc_idx_n*PP_INDTERM(__privtrans->ind_sizes[1], n))];
			if( (PDL_ISBAD((out_datap)[0+(__inc_out_m*PP_INDTERM(__privtrans->ind_sizes[0], j))],out_badval,D)) || ((in_datap)[0+(__inc_in_n*PP_INDTERM(__privtrans->ind_sizes[1], n))] > (out_datap)[0+(__inc_out_m*PP_INDTERM(__privtrans->ind_sizes[0], j))]) ) {
				(out_datap)[0+(__inc_out_m*PP_INDTERM(__privtrans->ind_sizes[0], j))] = (in_datap)[0+(__inc_in_n*PP_INDTERM(__privtrans->ind_sizes[1], n))];
			}
		
#line 489 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"
}} PDL_COMMENT("Close n")
#line 486 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"

	
}PDL_ENDTHREADLOOP__imax_loop
}
#line 2020 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP.pm"

#line 539 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"
} break;
#line 2024 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP.pm"

#line 532 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"
case PDL_LD: {
#line 2028 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP.pm"

#line 528 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"
		PDL_DECLARE_PARAMS__imax_loop(PDL_LDouble,PDL_Indx,PDL_LDouble)
#line 2032 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP.pm"

#line 447 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"
if ( __privtrans->bvalflag ) { PDL_COMMENT("** do 'bad' Code **")
#define PDL_BAD_CODE
  PDL_STARTTHREADLOOP__imax_loop(readdata){

		
#line 480 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"
{PDL_COMMENT("Open n") register PDL_Indx n;
for(n=0; n<(__n_size); n++) {
#line 455 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"

			if( (PDL_ISBAD((idx_datap)[0+(__inc_idx_n*PP_INDTERM(__privtrans->ind_sizes[1], n))],idx_badval,N)) || (PDL_ISBAD((in_datap)[0+(__inc_in_n*PP_INDTERM(__privtrans->ind_sizes[1], n))],in_badval,E)) ) continue;
			register PDL_Indx j = (idx_datap)[0+(__inc_idx_n*PP_INDTERM(__privtrans->ind_sizes[1], n))];
			if( (PDL_ISBAD((out_datap)[0+(__inc_out_m*PP_INDTERM(__privtrans->ind_sizes[0], j))],out_badval,E)) || ((in_datap)[0+(__inc_in_n*PP_INDTERM(__privtrans->ind_sizes[1], n))] > (out_datap)[0+(__inc_out_m*PP_INDTERM(__privtrans->ind_sizes[0], j))]) ) {
				(out_datap)[0+(__inc_out_m*PP_INDTERM(__privtrans->ind_sizes[0], j))] = (in_datap)[0+(__inc_in_n*PP_INDTERM(__privtrans->ind_sizes[1], n))];
			}
		
#line 489 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"
}} PDL_COMMENT("Close n")
#line 465 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"

	
}PDL_ENDTHREADLOOP__imax_loop
#undef PDL_BAD_CODE
} else { PDL_COMMENT("** else do 'good' Code **")
  PDL_STARTTHREADLOOP__imax_loop(readdata){

		
#line 480 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"
{PDL_COMMENT("Open n") register PDL_Indx n;
for(n=0; n<(__n_size); n++) {
#line 477 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"

			register PDL_Indx j = (idx_datap)[0+(__inc_idx_n*PP_INDTERM(__privtrans->ind_sizes[1], n))];
			if( (PDL_ISBAD((out_datap)[0+(__inc_out_m*PP_INDTERM(__privtrans->ind_sizes[0], j))],out_badval,E)) || ((in_datap)[0+(__inc_in_n*PP_INDTERM(__privtrans->ind_sizes[1], n))] > (out_datap)[0+(__inc_out_m*PP_INDTERM(__privtrans->ind_sizes[0], j))]) ) {
				(out_datap)[0+(__inc_out_m*PP_INDTERM(__privtrans->ind_sizes[0], j))] = (in_datap)[0+(__inc_in_n*PP_INDTERM(__privtrans->ind_sizes[1], n))];
			}
		
#line 489 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"
}} PDL_COMMENT("Close n")
#line 486 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"

	
}PDL_ENDTHREADLOOP__imax_loop
}
#line 2079 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP.pm"

#line 539 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"
} break;
#line 2083 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP.pm"

	default:return PDL->make_error(PDL_EUSERERROR, "PP INTERNAL ERROR in _imax_loop: unhandled datatype(%d), only handles (ABSULKNPQFDE)! PLEASE MAKE A BUG REPORT\n", __privtrans->__datatype);}
return PDL_err;}
#line 858 "pp-_imax_loop.c"



#line 2267 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP.pm"
static pdl_datatypes pdl__imax_loop_vtable_gentypes[] = { PDL_SB, PDL_B, PDL_S, PDL_US, PDL_L, PDL_UL, PDL_IND, PDL_ULL, PDL_LL, PDL_F, PDL_D, PDL_LD, -1 };
static char pdl__imax_loop_vtable_flags[] = {
  PDL_TPDL_VAFFINE_OK, PDL_TPDL_VAFFINE_OK, PDL_TPDL_VAFFINE_OK
};
static PDL_Indx pdl__imax_loop_vtable_realdims[] = { 1, 1, 1 };
static char *pdl__imax_loop_vtable_parnames[] = { "in","idx","out" };
static short pdl__imax_loop_vtable_parflags[] = {
  0,
  PDL_PARAM_ISTYPED,
  PDL_PARAM_ISCREAT|PDL_PARAM_ISOUT|PDL_PARAM_ISWRITE
};
static pdl_datatypes pdl__imax_loop_vtable_partypes[] = { -1, PDL_IND, -1 };
static PDL_Indx pdl__imax_loop_vtable_realdims_starts[] = { 0, 1, 2 };
static PDL_Indx pdl__imax_loop_vtable_realdims_ind_ids[] = { 1, 1, 0 };
static char *pdl__imax_loop_vtable_indnames[] = { "m","n" };
pdl_transvtable pdl__imax_loop_vtable = {
  PDL_TRANS_DO_THREAD|PDL_TRANS_BADPROCESS, 0, pdl__imax_loop_vtable_gentypes, 2, 3, pdl__imax_loop_vtable_flags,
  pdl__imax_loop_vtable_realdims, pdl__imax_loop_vtable_parnames,
  pdl__imax_loop_vtable_parflags, pdl__imax_loop_vtable_partypes,
  pdl__imax_loop_vtable_realdims_starts, pdl__imax_loop_vtable_realdims_ind_ids, 3,
  2, pdl__imax_loop_vtable_indnames,
  pdl__imax_loop_redodims, pdl__imax_loop_readdata, NULL,
  NULL,
  sizeof(pdl_params__imax_loop),"PDL::NDBin::Actions_PP::_imax_loop"
};
#line 888 "pp-_imax_loop.c"



#line 2188 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP.pm"
pdl_error pdl__imax_loop_run(pdl  *in,pdl  *idx,pdl  *out,PDL_Indx  msize) {
pdl_error PDL_err = {0, NULL, 0};

#line 2164 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP.pm"
if (!PDL) croak("PDL core struct is NULL, can't continue");
pdl_trans *__privtrans = PDL->create_trans(&pdl__imax_loop_vtable);
  pdl_params__imax_loop *__params = __privtrans->params;
#line 2195 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP.pm"

#line 2026 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP.pm"
__privtrans->pdls[0] = in;
#line 2199 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP.pm"

#line 2026 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP.pm"
__privtrans->pdls[1] = idx;
#line 2203 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP.pm"

#line 2026 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP.pm"
__privtrans->pdls[2] = out;
#line 2207 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP.pm"

#line 2124 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP.pm"
PDL_RETERROR(PDL_err, PDL->trans_check_pdls(__privtrans));
char 
#line 402 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP.pm"
badflag_cache
#line 2128 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP.pm"
 = PDL->trans_badflag_from_inputs(__privtrans);
#line 2216 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP.pm"

#line 2016 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP.pm"
PDL_RETERROR(PDL_err, PDL->type_coerce(__privtrans));
#line 2220 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP.pm"

#line 2034 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP.pm"
in = __privtrans->pdls[0];
#line 2224 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP.pm"

#line 2034 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP.pm"
idx = __privtrans->pdls[1];
#line 2228 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP.pm"

#line 2034 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP.pm"
out = __privtrans->pdls[2];
#line 2232 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP.pm"

#line 160 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/Signature.pm"
(__params->msize) = (msize);
#line 2236 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP.pm"

#line 2040 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP.pm"
PDL_RETERROR(PDL_err, PDL->make_trans_mutual(__privtrans));
#line 2240 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP.pm"

#line 2148 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP.pm"
if (
#line 402 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP.pm"
badflag_cache
#line 2151 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP.pm"
) {
  
#line 398 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP.pm"
out->state |= PDL_BADVAL
#line 2156 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP.pm"
;
}
#line 2254 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP.pm"
return PDL_err;
}
#line 962 "pp-_imax_loop.c"
