
#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-_flatten_into.c"

#line 2074 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP.pm"
typedef struct pdl_params__flatten_into {
double  step;double  min;PDL_Indx  n;} pdl_params__flatten_into;
#line 51 "pp-_flatten_into.c"



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

#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_b = PDL_THR_INC(__privtrans->pdlthread.incs,__tnpdls,1,0);
register PDL_Indx __tinc0_idx = 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_b = PDL_THR_INC(__privtrans->pdlthread.incs,__tnpdls,1,1);
register PDL_Indx __tinc1_idx = 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__flatten_into(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]; \
b_datap += __offsp[1]; \
idx_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 \
		,b_datap += __tinc1_b - __tinc0_b * __tdims0 \
		,idx_datap += __tinc1_idx - __tinc0_idx * __tdims0 \
	 ) \
      { \
	 for( __tind0 = 0 ; \
	      __tind0 < __tdims0 ; \
	      __tind0++ \
		,in_datap += __tinc0_in \
		,b_datap += __tinc0_b \
		,idx_datap += __tinc0_idx \
	   ) { \
      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__flatten_into \
} \
} \
PDL_COMMENT("undo outer-loop of tinc1*tdims1, and original per-pthread offset") \
in_datap -= __tinc1_in * __tdims1 + __offsp[0]; \
b_datap -= __tinc1_b * __tdims1 + __offsp[1]; \
idx_datap -= __tinc1_idx * __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__flatten_into(PDL_PARAMTYPE_in,PDL_PARAMTYPE_b,PDL_PARAMTYPE_idx) \
  PDL_DECLARE_PARAMETER_BADVAL(PDL_PARAMTYPE_in, (__privtrans->vtable->per_pdl_flags[0]), in, (__privtrans->pdls[0])) \
PDL_DECLARE_PARAMETER_BADVAL(PDL_PARAMTYPE_b, (__privtrans->vtable->per_pdl_flags[1]), b, (__privtrans->pdls[1])) \
PDL_DECLARE_PARAMETER_BADVAL(PDL_PARAMTYPE_idx, (__privtrans->vtable->per_pdl_flags[2]), idx, (__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_b_m = __privtrans->inc_sizes[PDL_INC_ID(__privtrans->vtable,1,0)]; (void)__inc_b_m;
register PDL_Indx __inc_idx_m = __privtrans->inc_sizes[PDL_INC_ID(__privtrans->vtable,2,0)]; (void)__inc_idx_m;
register PDL_Indx __inc_in_m = __privtrans->inc_sizes[PDL_INC_ID(__privtrans->vtable,0,0)]; (void)__inc_in_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__flatten_into(PDL_SByte,PDL_Indx,PDL_Indx)
#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__flatten_into(readdata){

		register double min = __params->min;
		register double step = __params->step;
		register PDL_Indx j;
		register PDL_Indx maxj = __params->n - 1;
		
#line 480 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"
{PDL_COMMENT("Open m") register PDL_Indx m;
for(m=0; m<(__m_size); m++) {
#line 459 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"

			if( (PDL_ISBAD((in_datap)[0+(__inc_in_m*PP_INDTERM(__privtrans->ind_sizes[0], m))],in_badval,A)) || (PDL_ISBAD((b_datap)[0+(__inc_b_m*PP_INDTERM(__privtrans->ind_sizes[0], m))],b_badval,N)) ) {
				(idx_datap)[0+(__inc_idx_m*PP_INDTERM(__privtrans->ind_sizes[0], m))]=idx_badval;
				continue;
			}
			j = (( (in_datap)[0+(__inc_in_m*PP_INDTERM(__privtrans->ind_sizes[0], m))] - min )/step);
			if( j < 0 ) j = 0;
			if( j > maxj ) j = maxj;
			(idx_datap)[0+(__inc_idx_m*PP_INDTERM(__privtrans->ind_sizes[0], m))] = j + __params->n * (b_datap)[0+(__inc_b_m*PP_INDTERM(__privtrans->ind_sizes[0], m))];
		
#line 489 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"
}} PDL_COMMENT("Close m")
#line 472 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"

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

		register double min = __params->min;
		register double step = __params->step;
		register PDL_Indx j;
		register PDL_Indx maxj = __params->n - 1;
		
#line 480 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"
{PDL_COMMENT("Open m") register PDL_Indx m;
for(m=0; m<(__m_size); m++) {
#line 488 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"

			j = (( (in_datap)[0+(__inc_in_m*PP_INDTERM(__privtrans->ind_sizes[0], m))] - min )/step);
			if( j < 0 ) j = 0;
			if( j > maxj ) j = maxj;
			(idx_datap)[0+(__inc_idx_m*PP_INDTERM(__privtrans->ind_sizes[0], m))] = j + __params->n * (b_datap)[0+(__inc_b_m*PP_INDTERM(__privtrans->ind_sizes[0], m))];
		
#line 489 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"
}} PDL_COMMENT("Close m")
#line 497 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"

	
}PDL_ENDTHREADLOOP__flatten_into
}
#line 1441 "/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 1445 "/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 1449 "/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__flatten_into(PDL_Byte,PDL_Indx,PDL_Indx)
#line 1453 "/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__flatten_into(readdata){

		register double min = __params->min;
		register double step = __params->step;
		register PDL_Indx j;
		register PDL_Indx maxj = __params->n - 1;
		
#line 480 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"
{PDL_COMMENT("Open m") register PDL_Indx m;
for(m=0; m<(__m_size); m++) {
#line 459 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"

			if( (PDL_ISBAD((in_datap)[0+(__inc_in_m*PP_INDTERM(__privtrans->ind_sizes[0], m))],in_badval,B)) || (PDL_ISBAD((b_datap)[0+(__inc_b_m*PP_INDTERM(__privtrans->ind_sizes[0], m))],b_badval,N)) ) {
				(idx_datap)[0+(__inc_idx_m*PP_INDTERM(__privtrans->ind_sizes[0], m))]=idx_badval;
				continue;
			}
			j = (( (in_datap)[0+(__inc_in_m*PP_INDTERM(__privtrans->ind_sizes[0], m))] - min )/step);
			if( j < 0 ) j = 0;
			if( j > maxj ) j = maxj;
			(idx_datap)[0+(__inc_idx_m*PP_INDTERM(__privtrans->ind_sizes[0], m))] = j + __params->n * (b_datap)[0+(__inc_b_m*PP_INDTERM(__privtrans->ind_sizes[0], m))];
		
#line 489 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"
}} PDL_COMMENT("Close m")
#line 472 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"

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

		register double min = __params->min;
		register double step = __params->step;
		register PDL_Indx j;
		register PDL_Indx maxj = __params->n - 1;
		
#line 480 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"
{PDL_COMMENT("Open m") register PDL_Indx m;
for(m=0; m<(__m_size); m++) {
#line 488 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"

			j = (( (in_datap)[0+(__inc_in_m*PP_INDTERM(__privtrans->ind_sizes[0], m))] - min )/step);
			if( j < 0 ) j = 0;
			if( j > maxj ) j = maxj;
			(idx_datap)[0+(__inc_idx_m*PP_INDTERM(__privtrans->ind_sizes[0], m))] = j + __params->n * (b_datap)[0+(__inc_b_m*PP_INDTERM(__privtrans->ind_sizes[0], m))];
		
#line 489 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"
}} PDL_COMMENT("Close m")
#line 497 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"

	
}PDL_ENDTHREADLOOP__flatten_into
}
#line 1511 "/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 1515 "/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 1519 "/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__flatten_into(PDL_Short,PDL_Indx,PDL_Indx)
#line 1523 "/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__flatten_into(readdata){

		register double min = __params->min;
		register double step = __params->step;
		register PDL_Indx j;
		register PDL_Indx maxj = __params->n - 1;
		
#line 480 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"
{PDL_COMMENT("Open m") register PDL_Indx m;
for(m=0; m<(__m_size); m++) {
#line 459 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"

			if( (PDL_ISBAD((in_datap)[0+(__inc_in_m*PP_INDTERM(__privtrans->ind_sizes[0], m))],in_badval,S)) || (PDL_ISBAD((b_datap)[0+(__inc_b_m*PP_INDTERM(__privtrans->ind_sizes[0], m))],b_badval,N)) ) {
				(idx_datap)[0+(__inc_idx_m*PP_INDTERM(__privtrans->ind_sizes[0], m))]=idx_badval;
				continue;
			}
			j = (( (in_datap)[0+(__inc_in_m*PP_INDTERM(__privtrans->ind_sizes[0], m))] - min )/step);
			if( j < 0 ) j = 0;
			if( j > maxj ) j = maxj;
			(idx_datap)[0+(__inc_idx_m*PP_INDTERM(__privtrans->ind_sizes[0], m))] = j + __params->n * (b_datap)[0+(__inc_b_m*PP_INDTERM(__privtrans->ind_sizes[0], m))];
		
#line 489 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"
}} PDL_COMMENT("Close m")
#line 472 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"

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

		register double min = __params->min;
		register double step = __params->step;
		register PDL_Indx j;
		register PDL_Indx maxj = __params->n - 1;
		
#line 480 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"
{PDL_COMMENT("Open m") register PDL_Indx m;
for(m=0; m<(__m_size); m++) {
#line 488 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"

			j = (( (in_datap)[0+(__inc_in_m*PP_INDTERM(__privtrans->ind_sizes[0], m))] - min )/step);
			if( j < 0 ) j = 0;
			if( j > maxj ) j = maxj;
			(idx_datap)[0+(__inc_idx_m*PP_INDTERM(__privtrans->ind_sizes[0], m))] = j + __params->n * (b_datap)[0+(__inc_b_m*PP_INDTERM(__privtrans->ind_sizes[0], m))];
		
#line 489 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"
}} PDL_COMMENT("Close m")
#line 497 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"

	
}PDL_ENDTHREADLOOP__flatten_into
}
#line 1581 "/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 1585 "/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 1589 "/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__flatten_into(PDL_Ushort,PDL_Indx,PDL_Indx)
#line 1593 "/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__flatten_into(readdata){

		register double min = __params->min;
		register double step = __params->step;
		register PDL_Indx j;
		register PDL_Indx maxj = __params->n - 1;
		
#line 480 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"
{PDL_COMMENT("Open m") register PDL_Indx m;
for(m=0; m<(__m_size); m++) {
#line 459 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"

			if( (PDL_ISBAD((in_datap)[0+(__inc_in_m*PP_INDTERM(__privtrans->ind_sizes[0], m))],in_badval,U)) || (PDL_ISBAD((b_datap)[0+(__inc_b_m*PP_INDTERM(__privtrans->ind_sizes[0], m))],b_badval,N)) ) {
				(idx_datap)[0+(__inc_idx_m*PP_INDTERM(__privtrans->ind_sizes[0], m))]=idx_badval;
				continue;
			}
			j = (( (in_datap)[0+(__inc_in_m*PP_INDTERM(__privtrans->ind_sizes[0], m))] - min )/step);
			if( j < 0 ) j = 0;
			if( j > maxj ) j = maxj;
			(idx_datap)[0+(__inc_idx_m*PP_INDTERM(__privtrans->ind_sizes[0], m))] = j + __params->n * (b_datap)[0+(__inc_b_m*PP_INDTERM(__privtrans->ind_sizes[0], m))];
		
#line 489 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"
}} PDL_COMMENT("Close m")
#line 472 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"

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

		register double min = __params->min;
		register double step = __params->step;
		register PDL_Indx j;
		register PDL_Indx maxj = __params->n - 1;
		
#line 480 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"
{PDL_COMMENT("Open m") register PDL_Indx m;
for(m=0; m<(__m_size); m++) {
#line 488 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"

			j = (( (in_datap)[0+(__inc_in_m*PP_INDTERM(__privtrans->ind_sizes[0], m))] - min )/step);
			if( j < 0 ) j = 0;
			if( j > maxj ) j = maxj;
			(idx_datap)[0+(__inc_idx_m*PP_INDTERM(__privtrans->ind_sizes[0], m))] = j + __params->n * (b_datap)[0+(__inc_b_m*PP_INDTERM(__privtrans->ind_sizes[0], m))];
		
#line 489 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"
}} PDL_COMMENT("Close m")
#line 497 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"

	
}PDL_ENDTHREADLOOP__flatten_into
}
#line 1651 "/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 1655 "/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 1659 "/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__flatten_into(PDL_Long,PDL_Indx,PDL_Indx)
#line 1663 "/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__flatten_into(readdata){

		register double min = __params->min;
		register double step = __params->step;
		register PDL_Indx j;
		register PDL_Indx maxj = __params->n - 1;
		
#line 480 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"
{PDL_COMMENT("Open m") register PDL_Indx m;
for(m=0; m<(__m_size); m++) {
#line 459 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"

			if( (PDL_ISBAD((in_datap)[0+(__inc_in_m*PP_INDTERM(__privtrans->ind_sizes[0], m))],in_badval,L)) || (PDL_ISBAD((b_datap)[0+(__inc_b_m*PP_INDTERM(__privtrans->ind_sizes[0], m))],b_badval,N)) ) {
				(idx_datap)[0+(__inc_idx_m*PP_INDTERM(__privtrans->ind_sizes[0], m))]=idx_badval;
				continue;
			}
			j = (( (in_datap)[0+(__inc_in_m*PP_INDTERM(__privtrans->ind_sizes[0], m))] - min )/step);
			if( j < 0 ) j = 0;
			if( j > maxj ) j = maxj;
			(idx_datap)[0+(__inc_idx_m*PP_INDTERM(__privtrans->ind_sizes[0], m))] = j + __params->n * (b_datap)[0+(__inc_b_m*PP_INDTERM(__privtrans->ind_sizes[0], m))];
		
#line 489 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"
}} PDL_COMMENT("Close m")
#line 472 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"

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

		register double min = __params->min;
		register double step = __params->step;
		register PDL_Indx j;
		register PDL_Indx maxj = __params->n - 1;
		
#line 480 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"
{PDL_COMMENT("Open m") register PDL_Indx m;
for(m=0; m<(__m_size); m++) {
#line 488 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"

			j = (( (in_datap)[0+(__inc_in_m*PP_INDTERM(__privtrans->ind_sizes[0], m))] - min )/step);
			if( j < 0 ) j = 0;
			if( j > maxj ) j = maxj;
			(idx_datap)[0+(__inc_idx_m*PP_INDTERM(__privtrans->ind_sizes[0], m))] = j + __params->n * (b_datap)[0+(__inc_b_m*PP_INDTERM(__privtrans->ind_sizes[0], m))];
		
#line 489 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"
}} PDL_COMMENT("Close m")
#line 497 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"

	
}PDL_ENDTHREADLOOP__flatten_into
}
#line 1721 "/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 1725 "/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 1729 "/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__flatten_into(PDL_ULong,PDL_Indx,PDL_Indx)
#line 1733 "/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__flatten_into(readdata){

		register double min = __params->min;
		register double step = __params->step;
		register PDL_Indx j;
		register PDL_Indx maxj = __params->n - 1;
		
#line 480 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"
{PDL_COMMENT("Open m") register PDL_Indx m;
for(m=0; m<(__m_size); m++) {
#line 459 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"

			if( (PDL_ISBAD((in_datap)[0+(__inc_in_m*PP_INDTERM(__privtrans->ind_sizes[0], m))],in_badval,K)) || (PDL_ISBAD((b_datap)[0+(__inc_b_m*PP_INDTERM(__privtrans->ind_sizes[0], m))],b_badval,N)) ) {
				(idx_datap)[0+(__inc_idx_m*PP_INDTERM(__privtrans->ind_sizes[0], m))]=idx_badval;
				continue;
			}
			j = (( (in_datap)[0+(__inc_in_m*PP_INDTERM(__privtrans->ind_sizes[0], m))] - min )/step);
			if( j < 0 ) j = 0;
			if( j > maxj ) j = maxj;
			(idx_datap)[0+(__inc_idx_m*PP_INDTERM(__privtrans->ind_sizes[0], m))] = j + __params->n * (b_datap)[0+(__inc_b_m*PP_INDTERM(__privtrans->ind_sizes[0], m))];
		
#line 489 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"
}} PDL_COMMENT("Close m")
#line 472 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"

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

		register double min = __params->min;
		register double step = __params->step;
		register PDL_Indx j;
		register PDL_Indx maxj = __params->n - 1;
		
#line 480 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"
{PDL_COMMENT("Open m") register PDL_Indx m;
for(m=0; m<(__m_size); m++) {
#line 488 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"

			j = (( (in_datap)[0+(__inc_in_m*PP_INDTERM(__privtrans->ind_sizes[0], m))] - min )/step);
			if( j < 0 ) j = 0;
			if( j > maxj ) j = maxj;
			(idx_datap)[0+(__inc_idx_m*PP_INDTERM(__privtrans->ind_sizes[0], m))] = j + __params->n * (b_datap)[0+(__inc_b_m*PP_INDTERM(__privtrans->ind_sizes[0], m))];
		
#line 489 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"
}} PDL_COMMENT("Close m")
#line 497 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"

	
}PDL_ENDTHREADLOOP__flatten_into
}
#line 1791 "/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 1795 "/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 1799 "/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__flatten_into(PDL_Indx,PDL_Indx,PDL_Indx)
#line 1803 "/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__flatten_into(readdata){

		register double min = __params->min;
		register double step = __params->step;
		register PDL_Indx j;
		register PDL_Indx maxj = __params->n - 1;
		
#line 480 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"
{PDL_COMMENT("Open m") register PDL_Indx m;
for(m=0; m<(__m_size); m++) {
#line 459 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"

			if( (PDL_ISBAD((in_datap)[0+(__inc_in_m*PP_INDTERM(__privtrans->ind_sizes[0], m))],in_badval,N)) || (PDL_ISBAD((b_datap)[0+(__inc_b_m*PP_INDTERM(__privtrans->ind_sizes[0], m))],b_badval,N)) ) {
				(idx_datap)[0+(__inc_idx_m*PP_INDTERM(__privtrans->ind_sizes[0], m))]=idx_badval;
				continue;
			}
			j = (( (in_datap)[0+(__inc_in_m*PP_INDTERM(__privtrans->ind_sizes[0], m))] - min )/step);
			if( j < 0 ) j = 0;
			if( j > maxj ) j = maxj;
			(idx_datap)[0+(__inc_idx_m*PP_INDTERM(__privtrans->ind_sizes[0], m))] = j + __params->n * (b_datap)[0+(__inc_b_m*PP_INDTERM(__privtrans->ind_sizes[0], m))];
		
#line 489 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"
}} PDL_COMMENT("Close m")
#line 472 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"

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

		register double min = __params->min;
		register double step = __params->step;
		register PDL_Indx j;
		register PDL_Indx maxj = __params->n - 1;
		
#line 480 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"
{PDL_COMMENT("Open m") register PDL_Indx m;
for(m=0; m<(__m_size); m++) {
#line 488 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"

			j = (( (in_datap)[0+(__inc_in_m*PP_INDTERM(__privtrans->ind_sizes[0], m))] - min )/step);
			if( j < 0 ) j = 0;
			if( j > maxj ) j = maxj;
			(idx_datap)[0+(__inc_idx_m*PP_INDTERM(__privtrans->ind_sizes[0], m))] = j + __params->n * (b_datap)[0+(__inc_b_m*PP_INDTERM(__privtrans->ind_sizes[0], m))];
		
#line 489 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"
}} PDL_COMMENT("Close m")
#line 497 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"

	
}PDL_ENDTHREADLOOP__flatten_into
}
#line 1861 "/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 1865 "/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 1869 "/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__flatten_into(PDL_ULongLong,PDL_Indx,PDL_Indx)
#line 1873 "/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__flatten_into(readdata){

		register double min = __params->min;
		register double step = __params->step;
		register PDL_Indx j;
		register PDL_Indx maxj = __params->n - 1;
		
#line 480 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"
{PDL_COMMENT("Open m") register PDL_Indx m;
for(m=0; m<(__m_size); m++) {
#line 459 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"

			if( (PDL_ISBAD((in_datap)[0+(__inc_in_m*PP_INDTERM(__privtrans->ind_sizes[0], m))],in_badval,P)) || (PDL_ISBAD((b_datap)[0+(__inc_b_m*PP_INDTERM(__privtrans->ind_sizes[0], m))],b_badval,N)) ) {
				(idx_datap)[0+(__inc_idx_m*PP_INDTERM(__privtrans->ind_sizes[0], m))]=idx_badval;
				continue;
			}
			j = (( (in_datap)[0+(__inc_in_m*PP_INDTERM(__privtrans->ind_sizes[0], m))] - min )/step);
			if( j < 0 ) j = 0;
			if( j > maxj ) j = maxj;
			(idx_datap)[0+(__inc_idx_m*PP_INDTERM(__privtrans->ind_sizes[0], m))] = j + __params->n * (b_datap)[0+(__inc_b_m*PP_INDTERM(__privtrans->ind_sizes[0], m))];
		
#line 489 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"
}} PDL_COMMENT("Close m")
#line 472 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"

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

		register double min = __params->min;
		register double step = __params->step;
		register PDL_Indx j;
		register PDL_Indx maxj = __params->n - 1;
		
#line 480 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"
{PDL_COMMENT("Open m") register PDL_Indx m;
for(m=0; m<(__m_size); m++) {
#line 488 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"

			j = (( (in_datap)[0+(__inc_in_m*PP_INDTERM(__privtrans->ind_sizes[0], m))] - min )/step);
			if( j < 0 ) j = 0;
			if( j > maxj ) j = maxj;
			(idx_datap)[0+(__inc_idx_m*PP_INDTERM(__privtrans->ind_sizes[0], m))] = j + __params->n * (b_datap)[0+(__inc_b_m*PP_INDTERM(__privtrans->ind_sizes[0], m))];
		
#line 489 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"
}} PDL_COMMENT("Close m")
#line 497 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"

	
}PDL_ENDTHREADLOOP__flatten_into
}
#line 1931 "/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 1935 "/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 1939 "/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__flatten_into(PDL_LongLong,PDL_Indx,PDL_Indx)
#line 1943 "/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__flatten_into(readdata){

		register double min = __params->min;
		register double step = __params->step;
		register PDL_Indx j;
		register PDL_Indx maxj = __params->n - 1;
		
#line 480 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"
{PDL_COMMENT("Open m") register PDL_Indx m;
for(m=0; m<(__m_size); m++) {
#line 459 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"

			if( (PDL_ISBAD((in_datap)[0+(__inc_in_m*PP_INDTERM(__privtrans->ind_sizes[0], m))],in_badval,Q)) || (PDL_ISBAD((b_datap)[0+(__inc_b_m*PP_INDTERM(__privtrans->ind_sizes[0], m))],b_badval,N)) ) {
				(idx_datap)[0+(__inc_idx_m*PP_INDTERM(__privtrans->ind_sizes[0], m))]=idx_badval;
				continue;
			}
			j = (( (in_datap)[0+(__inc_in_m*PP_INDTERM(__privtrans->ind_sizes[0], m))] - min )/step);
			if( j < 0 ) j = 0;
			if( j > maxj ) j = maxj;
			(idx_datap)[0+(__inc_idx_m*PP_INDTERM(__privtrans->ind_sizes[0], m))] = j + __params->n * (b_datap)[0+(__inc_b_m*PP_INDTERM(__privtrans->ind_sizes[0], m))];
		
#line 489 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"
}} PDL_COMMENT("Close m")
#line 472 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"

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

		register double min = __params->min;
		register double step = __params->step;
		register PDL_Indx j;
		register PDL_Indx maxj = __params->n - 1;
		
#line 480 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"
{PDL_COMMENT("Open m") register PDL_Indx m;
for(m=0; m<(__m_size); m++) {
#line 488 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"

			j = (( (in_datap)[0+(__inc_in_m*PP_INDTERM(__privtrans->ind_sizes[0], m))] - min )/step);
			if( j < 0 ) j = 0;
			if( j > maxj ) j = maxj;
			(idx_datap)[0+(__inc_idx_m*PP_INDTERM(__privtrans->ind_sizes[0], m))] = j + __params->n * (b_datap)[0+(__inc_b_m*PP_INDTERM(__privtrans->ind_sizes[0], m))];
		
#line 489 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"
}} PDL_COMMENT("Close m")
#line 497 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"

	
}PDL_ENDTHREADLOOP__flatten_into
}
#line 2001 "/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 2005 "/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 2009 "/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__flatten_into(PDL_Float,PDL_Indx,PDL_Indx)
#line 2013 "/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__flatten_into(readdata){

		register double min = __params->min;
		register double step = __params->step;
		register PDL_Indx j;
		register PDL_Indx maxj = __params->n - 1;
		
#line 480 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"
{PDL_COMMENT("Open m") register PDL_Indx m;
for(m=0; m<(__m_size); m++) {
#line 459 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"

			if( (PDL_ISBAD((in_datap)[0+(__inc_in_m*PP_INDTERM(__privtrans->ind_sizes[0], m))],in_badval,F)) || (PDL_ISBAD((b_datap)[0+(__inc_b_m*PP_INDTERM(__privtrans->ind_sizes[0], m))],b_badval,N)) ) {
				(idx_datap)[0+(__inc_idx_m*PP_INDTERM(__privtrans->ind_sizes[0], m))]=idx_badval;
				continue;
			}
			j = (( (in_datap)[0+(__inc_in_m*PP_INDTERM(__privtrans->ind_sizes[0], m))] - min )/step);
			if( j < 0 ) j = 0;
			if( j > maxj ) j = maxj;
			(idx_datap)[0+(__inc_idx_m*PP_INDTERM(__privtrans->ind_sizes[0], m))] = j + __params->n * (b_datap)[0+(__inc_b_m*PP_INDTERM(__privtrans->ind_sizes[0], m))];
		
#line 489 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"
}} PDL_COMMENT("Close m")
#line 472 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"

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

		register double min = __params->min;
		register double step = __params->step;
		register PDL_Indx j;
		register PDL_Indx maxj = __params->n - 1;
		
#line 480 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"
{PDL_COMMENT("Open m") register PDL_Indx m;
for(m=0; m<(__m_size); m++) {
#line 488 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"

			j = (( (in_datap)[0+(__inc_in_m*PP_INDTERM(__privtrans->ind_sizes[0], m))] - min )/step);
			if( j < 0 ) j = 0;
			if( j > maxj ) j = maxj;
			(idx_datap)[0+(__inc_idx_m*PP_INDTERM(__privtrans->ind_sizes[0], m))] = j + __params->n * (b_datap)[0+(__inc_b_m*PP_INDTERM(__privtrans->ind_sizes[0], m))];
		
#line 489 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"
}} PDL_COMMENT("Close m")
#line 497 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"

	
}PDL_ENDTHREADLOOP__flatten_into
}
#line 2071 "/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 2075 "/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 2079 "/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__flatten_into(PDL_Double,PDL_Indx,PDL_Indx)
#line 2083 "/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__flatten_into(readdata){

		register double min = __params->min;
		register double step = __params->step;
		register PDL_Indx j;
		register PDL_Indx maxj = __params->n - 1;
		
#line 480 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"
{PDL_COMMENT("Open m") register PDL_Indx m;
for(m=0; m<(__m_size); m++) {
#line 459 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"

			if( (PDL_ISBAD((in_datap)[0+(__inc_in_m*PP_INDTERM(__privtrans->ind_sizes[0], m))],in_badval,D)) || (PDL_ISBAD((b_datap)[0+(__inc_b_m*PP_INDTERM(__privtrans->ind_sizes[0], m))],b_badval,N)) ) {
				(idx_datap)[0+(__inc_idx_m*PP_INDTERM(__privtrans->ind_sizes[0], m))]=idx_badval;
				continue;
			}
			j = (( (in_datap)[0+(__inc_in_m*PP_INDTERM(__privtrans->ind_sizes[0], m))] - min )/step);
			if( j < 0 ) j = 0;
			if( j > maxj ) j = maxj;
			(idx_datap)[0+(__inc_idx_m*PP_INDTERM(__privtrans->ind_sizes[0], m))] = j + __params->n * (b_datap)[0+(__inc_b_m*PP_INDTERM(__privtrans->ind_sizes[0], m))];
		
#line 489 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"
}} PDL_COMMENT("Close m")
#line 472 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"

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

		register double min = __params->min;
		register double step = __params->step;
		register PDL_Indx j;
		register PDL_Indx maxj = __params->n - 1;
		
#line 480 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"
{PDL_COMMENT("Open m") register PDL_Indx m;
for(m=0; m<(__m_size); m++) {
#line 488 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"

			j = (( (in_datap)[0+(__inc_in_m*PP_INDTERM(__privtrans->ind_sizes[0], m))] - min )/step);
			if( j < 0 ) j = 0;
			if( j > maxj ) j = maxj;
			(idx_datap)[0+(__inc_idx_m*PP_INDTERM(__privtrans->ind_sizes[0], m))] = j + __params->n * (b_datap)[0+(__inc_b_m*PP_INDTERM(__privtrans->ind_sizes[0], m))];
		
#line 489 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"
}} PDL_COMMENT("Close m")
#line 497 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"

	
}PDL_ENDTHREADLOOP__flatten_into
}
#line 2141 "/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 2145 "/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 2149 "/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__flatten_into(PDL_LDouble,PDL_Indx,PDL_Indx)
#line 2153 "/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__flatten_into(readdata){

		register double min = __params->min;
		register double step = __params->step;
		register PDL_Indx j;
		register PDL_Indx maxj = __params->n - 1;
		
#line 480 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"
{PDL_COMMENT("Open m") register PDL_Indx m;
for(m=0; m<(__m_size); m++) {
#line 459 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"

			if( (PDL_ISBAD((in_datap)[0+(__inc_in_m*PP_INDTERM(__privtrans->ind_sizes[0], m))],in_badval,E)) || (PDL_ISBAD((b_datap)[0+(__inc_b_m*PP_INDTERM(__privtrans->ind_sizes[0], m))],b_badval,N)) ) {
				(idx_datap)[0+(__inc_idx_m*PP_INDTERM(__privtrans->ind_sizes[0], m))]=idx_badval;
				continue;
			}
			j = (( (in_datap)[0+(__inc_in_m*PP_INDTERM(__privtrans->ind_sizes[0], m))] - min )/step);
			if( j < 0 ) j = 0;
			if( j > maxj ) j = maxj;
			(idx_datap)[0+(__inc_idx_m*PP_INDTERM(__privtrans->ind_sizes[0], m))] = j + __params->n * (b_datap)[0+(__inc_b_m*PP_INDTERM(__privtrans->ind_sizes[0], m))];
		
#line 489 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"
}} PDL_COMMENT("Close m")
#line 472 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"

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

		register double min = __params->min;
		register double step = __params->step;
		register PDL_Indx j;
		register PDL_Indx maxj = __params->n - 1;
		
#line 480 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"
{PDL_COMMENT("Open m") register PDL_Indx m;
for(m=0; m<(__m_size); m++) {
#line 488 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"

			j = (( (in_datap)[0+(__inc_in_m*PP_INDTERM(__privtrans->ind_sizes[0], m))] - min )/step);
			if( j < 0 ) j = 0;
			if( j > maxj ) j = maxj;
			(idx_datap)[0+(__inc_idx_m*PP_INDTERM(__privtrans->ind_sizes[0], m))] = j + __params->n * (b_datap)[0+(__inc_b_m*PP_INDTERM(__privtrans->ind_sizes[0], m))];
		
#line 489 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"
}} PDL_COMMENT("Close m")
#line 497 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP/PDLCode.pm"

	
}PDL_ENDTHREADLOOP__flatten_into
}
#line 2211 "/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 2215 "/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 _flatten_into: unhandled datatype(%d), only handles (ABSULKNPQFDE)! PLEASE MAKE A BUG REPORT\n", __privtrans->__datatype);}
return PDL_err;}
#line 980 "pp-_flatten_into.c"



#line 2267 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP.pm"
static pdl_datatypes pdl__flatten_into_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__flatten_into_vtable_flags[] = {
  PDL_TPDL_VAFFINE_OK, PDL_TPDL_VAFFINE_OK, PDL_TPDL_VAFFINE_OK
};
static PDL_Indx pdl__flatten_into_vtable_realdims[] = { 1, 1, 1 };
static char *pdl__flatten_into_vtable_parnames[] = { "in","b","idx" };
static short pdl__flatten_into_vtable_parflags[] = {
  0,
  PDL_PARAM_ISTYPED,
  PDL_PARAM_ISCREAT|PDL_PARAM_ISOUT|PDL_PARAM_ISTYPED|PDL_PARAM_ISWRITE
};
static pdl_datatypes pdl__flatten_into_vtable_partypes[] = { -1, PDL_IND, PDL_IND };
static PDL_Indx pdl__flatten_into_vtable_realdims_starts[] = { 0, 1, 2 };
static PDL_Indx pdl__flatten_into_vtable_realdims_ind_ids[] = { 0, 0, 0 };
static char *pdl__flatten_into_vtable_indnames[] = { "m" };
pdl_transvtable pdl__flatten_into_vtable = {
  PDL_TRANS_DO_THREAD|PDL_TRANS_BADPROCESS, 0, pdl__flatten_into_vtable_gentypes, 2, 3, pdl__flatten_into_vtable_flags,
  pdl__flatten_into_vtable_realdims, pdl__flatten_into_vtable_parnames,
  pdl__flatten_into_vtable_parflags, pdl__flatten_into_vtable_partypes,
  pdl__flatten_into_vtable_realdims_starts, pdl__flatten_into_vtable_realdims_ind_ids, 3,
  1, pdl__flatten_into_vtable_indnames,
  NULL, pdl__flatten_into_readdata, NULL,
  NULL,
  sizeof(pdl_params__flatten_into),"PDL::NDBin::Actions_PP::_flatten_into"
};
#line 1010 "pp-_flatten_into.c"



#line 2188 "/home/osboxes/.perlbrew/libs/perl-5.32.0@normal/lib/perl5/x86_64-linux/PDL/PP.pm"
pdl_error pdl__flatten_into_run(pdl  *in,pdl  *b,pdl  *idx,double  step,double  min,PDL_Indx  n) {
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__flatten_into_vtable);
  pdl_params__flatten_into *__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] = b;
#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] = idx;
#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"
b = __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"
idx = __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->step) = (step);(__params->min) = (min);(__params->n) = (n);
#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"
idx->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 1084 "pp-_flatten_into.c"
