#line 416 "utilities/arrcpy.bm"
void SUB_CHECKARRAYCOPYRANGENDPAIR(int32*_SUB_CHECKARRAYCOPYRANGENDPAIR_LONG_SRC_TYPE,int32*_SUB_CHECKARRAYCOPYRANGENDPAIR_LONG_SRC_SIZE,int32*_SUB_CHECKARRAYCOPYRANGENDPAIR_LONG_SRC_DIMS,int32*_SUB_CHECKARRAYCOPYRANGENDPAIR_LONG_SRC_STRING_SLOT_MODE,int32*_SUB_CHECKARRAYCOPYRANGENDPAIR_LONG_DST_TYPE,int32*_SUB_CHECKARRAYCOPYRANGENDPAIR_LONG_DST_SIZE,int32*_SUB_CHECKARRAYCOPYRANGENDPAIR_LONG_DST_DIMS,int32*_SUB_CHECKARRAYCOPYRANGENDPAIR_LONG_DST_STRING_SLOT_MODE,int32*_SUB_CHECKARRAYCOPYRANGENDPAIR_LONG_ELEMENT_BYTES,int32*_SUB_CHECKARRAYCOPYRANGENDPAIR_LONG_VAR_STRING_COPY){
#line 416 "utilities/arrcpy.bm"
qbs *tqbs;
#line 416 "utilities/arrcpy.bm"
ptrszint tmp_long;
#line 416 "utilities/arrcpy.bm"
int32 tmp_fileno;
#line 416 "utilities/arrcpy.bm"
uint32 qbs_tmp_base=qbs_tmp_list_nexti;
#line 416 "utilities/arrcpy.bm"
uint8 *tmp_mem_static_pointer=mem_static_pointer;
#line 416 "utilities/arrcpy.bm"
uint32 tmp_cmem_sp=cmem_sp;
#line 416 "utilities/arrcpy.bm"
#include "data128.txt"
#line 416 "utilities/arrcpy.bm"
mem_lock *sf_mem_lock;
#line 416 "utilities/arrcpy.bm"
new_mem_lock();
#line 416 "utilities/arrcpy.bm"
sf_mem_lock=mem_lock_tmp;
#line 416 "utilities/arrcpy.bm"
sf_mem_lock->type=3;
#line 416 "utilities/arrcpy.bm"
libqb_check_stack();
#line 416 "utilities/arrcpy.bm"
if (is_error_pending()) goto exit_subfunc;
#line 417 "utilities/arrcpy.bm"
do{
#line 417 "utilities/arrcpy.bm"
if(!qbevent)break;evnt(28798,417,"arrcpy.bm");}while(r);
#line 419 "utilities/arrcpy.bm"
do{
#line 419 "utilities/arrcpy.bm"
*_SUB_CHECKARRAYCOPYRANGENDPAIR_LONG_SRC_VAR_STRING=FUNC_ARRAYCOPYISVARSTRING(_SUB_CHECKARRAYCOPYRANGENDPAIR_LONG_SRC_TYPE);
#line 419 "utilities/arrcpy.bm"
if(!qbevent)break;evnt(28798,419,"arrcpy.bm");}while(r);
#line 420 "utilities/arrcpy.bm"
do{
#line 420 "utilities/arrcpy.bm"
*_SUB_CHECKARRAYCOPYRANGENDPAIR_LONG_DST_VAR_STRING=FUNC_ARRAYCOPYISVARSTRING(_SUB_CHECKARRAYCOPYRANGENDPAIR_LONG_DST_TYPE);
#line 420 "utilities/arrcpy.bm"
if(!qbevent)break;evnt(28798,420,"arrcpy.bm");}while(r);
#line 421 "utilities/arrcpy.bm"
do{
#line 421 "utilities/arrcpy.bm"
*_SUB_CHECKARRAYCOPYRANGENDPAIR_LONG_VAR_STRING_COPY= 0 ;
#line 421 "utilities/arrcpy.bm"
if(!qbevent)break;evnt(28798,421,"arrcpy.bm");}while(r);
#line 423 "utilities/arrcpy.bm"
S_37646:;
#line 423 "utilities/arrcpy.bm"
if ((*_SUB_CHECKARRAYCOPYRANGENDPAIR_LONG_SRC_VAR_STRING|*_SUB_CHECKARRAYCOPYRANGENDPAIR_LONG_DST_VAR_STRING)||is_error_pending()){
#line 423 "utilities/arrcpy.bm"
if(qbevent){evnt(28798,423,"arrcpy.bm");if(r)goto S_37646;}
#line 424 "utilities/arrcpy.bm"
S_37647:;
#line 424 "utilities/arrcpy.bm"
if (((-(*_SUB_CHECKARRAYCOPYRANGENDPAIR_LONG_SRC_VAR_STRING== 0 ))|(-(*_SUB_CHECKARRAYCOPYRANGENDPAIR_LONG_DST_VAR_STRING== 0 )))||is_error_pending()){
#line 424 "utilities/arrcpy.bm"
if(qbevent){evnt(28798,424,"arrcpy.bm");if(r)goto S_37647;}
#line 425 "utilities/arrcpy.bm"
do{
#line 425 "utilities/arrcpy.bm"
SUB_GIVE_ERROR(qbs_new_txt_len("_ArrayCopy requires arrays with the same element type",53));
#line 425 "utilities/arrcpy.bm"
qbs_cleanup(qbs_tmp_base,0);
#line 425 "utilities/arrcpy.bm"
if(!qbevent)break;evnt(28798,425,"arrcpy.bm");}while(r);
#line 425 "utilities/arrcpy.bm"
do{
#line 425 "utilities/arrcpy.bm"
goto exit_subfunc;
#line 425 "utilities/arrcpy.bm"
if(!qbevent)break;evnt(28798,425,"arrcpy.bm");}while(r);
#line 426 "utilities/arrcpy.bm"
}
#line 427 "utilities/arrcpy.bm"
S_37651:;
#line 427 "utilities/arrcpy.bm"
if (((-(*_SUB_CHECKARRAYCOPYRANGENDPAIR_LONG_SRC_DIMS<= 1 ))|(-(*_SUB_CHECKARRAYCOPYRANGENDPAIR_LONG_DST_DIMS<= 1 ))|(-(*_SUB_CHECKARRAYCOPYRANGENDPAIR_LONG_SRC_DIMS!=*_SUB_CHECKARRAYCOPYRANGENDPAIR_LONG_DST_DIMS)))||is_error_pending()){
#line 427 "utilities/arrcpy.bm"
if(qbevent){evnt(28798,427,"arrcpy.bm");if(r)goto S_37651;}
#line 428 "utilities/arrcpy.bm"
do{
#line 428 "utilities/arrcpy.bm"
SUB_GIVE_ERROR(qbs_new_txt_len("_ArrayCopy source and destination must have the same multidimensional shape rank",80));
#line 428 "utilities/arrcpy.bm"
qbs_cleanup(qbs_tmp_base,0);
#line 428 "utilities/arrcpy.bm"
if(!qbevent)break;evnt(28798,428,"arrcpy.bm");}while(r);
#line 428 "utilities/arrcpy.bm"
do{
#line 428 "utilities/arrcpy.bm"
goto exit_subfunc;
#line 428 "utilities/arrcpy.bm"
if(!qbevent)break;evnt(28798,428,"arrcpy.bm");}while(r);
#line 429 "utilities/arrcpy.bm"
}
#line 430 "utilities/arrcpy.bm"
S_37655:;
#line 430 "utilities/arrcpy.bm"
if (((-(*_SUB_CHECKARRAYCOPYRANGENDPAIR_LONG_SRC_STRING_SLOT_MODE== 0 ))|(-(*_SUB_CHECKARRAYCOPYRANGENDPAIR_LONG_DST_STRING_SLOT_MODE== 0 )))||is_error_pending()){
#line 430 "utilities/arrcpy.bm"
if(qbevent){evnt(28798,430,"arrcpy.bm");if(r)goto S_37655;}
#line 431 "utilities/arrcpy.bm"
do{
#line 431 "utilities/arrcpy.bm"
SUB_GIVE_ERROR(qbs_new_txt_len("_ArrayCopy cannot determine variable-length STRING storage",58));
#line 431 "utilities/arrcpy.bm"
qbs_cleanup(qbs_tmp_base,0);
#line 431 "utilities/arrcpy.bm"
if(!qbevent)break;evnt(28798,431,"arrcpy.bm");}while(r);
#line 431 "utilities/arrcpy.bm"
do{
#line 431 "utilities/arrcpy.bm"
goto exit_subfunc;
#line 431 "utilities/arrcpy.bm"
if(!qbevent)break;evnt(28798,431,"arrcpy.bm");}while(r);
#line 432 "utilities/arrcpy.bm"
}
#line 433 "utilities/arrcpy.bm"
do{
#line 433 "utilities/arrcpy.bm"
*_SUB_CHECKARRAYCOPYRANGENDPAIR_LONG_VAR_STRING_COPY= -1 ;
#line 433 "utilities/arrcpy.bm"
if(!qbevent)break;evnt(28798,433,"arrcpy.bm");}while(r);
#line 434 "utilities/arrcpy.bm"
}else{
#line 435 "utilities/arrcpy.bm"
do{
#line 435 "utilities/arrcpy.bm"
SUB_CHECKARRAYCOPYWHOLEPAIR(_SUB_CHECKARRAYCOPYRANGENDPAIR_LONG_SRC_TYPE,_SUB_CHECKARRAYCOPYRANGENDPAIR_LONG_SRC_SIZE,_SUB_CHECKARRAYCOPYRANGENDPAIR_LONG_SRC_DIMS,_SUB_CHECKARRAYCOPYRANGENDPAIR_LONG_DST_TYPE,_SUB_CHECKARRAYCOPYRANGENDPAIR_LONG_DST_SIZE,_SUB_CHECKARRAYCOPYRANGENDPAIR_LONG_DST_DIMS,_SUB_CHECKARRAYCOPYRANGENDPAIR_LONG_ELEMENT_BYTES);
#line 435 "utilities/arrcpy.bm"
if(!qbevent)break;evnt(28798,435,"arrcpy.bm");}while(r);
#line 436 "utilities/arrcpy.bm"
}
#line 437 "utilities/arrcpy.bm"
exit_subfunc:;
#line 437 "utilities/arrcpy.bm"
free_mem_lock(sf_mem_lock);
#line 437 "utilities/arrcpy.bm"
#include "free128.txt"
#line 437 "utilities/arrcpy.bm"
if ((tmp_mem_static_pointer>=mem_static)&&(tmp_mem_static_pointer<=mem_static_limit)) mem_static_pointer=tmp_mem_static_pointer; else mem_static_pointer=mem_static;
#line 437 "utilities/arrcpy.bm"
cmem_sp=tmp_cmem_sp;
#line 437 "utilities/arrcpy.bm"
}
