#line 682 "utilities/const_eval.bas"
int32 FUNC_NUMERIC(qbs*_FUNC_NUMERIC_STRING_EXP,void*_FUNC_NUMERIC_UDT_STATE){
#line 682 "utilities/const_eval.bas"
qbs *tqbs;
#line 682 "utilities/const_eval.bas"
ptrszint tmp_long;
#line 682 "utilities/const_eval.bas"
int32 tmp_fileno;
#line 682 "utilities/const_eval.bas"
uint32 qbs_tmp_base=qbs_tmp_list_nexti;
#line 682 "utilities/const_eval.bas"
uint8 *tmp_mem_static_pointer=mem_static_pointer;
#line 682 "utilities/const_eval.bas"
uint32 tmp_cmem_sp=cmem_sp;
#line 682 "utilities/const_eval.bas"
#include "data259.txt"
#line 682 "utilities/const_eval.bas"
mem_lock *sf_mem_lock;
#line 682 "utilities/const_eval.bas"
new_mem_lock();
#line 682 "utilities/const_eval.bas"
sf_mem_lock=mem_lock_tmp;
#line 682 "utilities/const_eval.bas"
sf_mem_lock->type=3;
#line 682 "utilities/const_eval.bas"
libqb_check_stack();
#line 682 "utilities/const_eval.bas"
if (is_error_pending()) goto exit_subfunc;
#line 683 "utilities/const_eval.bas"
S_41205:;
#line 683 "utilities/const_eval.bas"
if (( 0ll )||is_error_pending()){
#line 683 "utilities/const_eval.bas"
if(qbevent){evnt(28806,683,"const_eval.bas");if(r)goto S_41205;}
#line 683 "utilities/const_eval.bas"
do{
#line 683 "utilities/const_eval.bas"
sub__echo(qbs_new_txt_len("Numeric",7));
#line 683 "utilities/const_eval.bas"
qbs_cleanup(qbs_tmp_base,0);
#line 683 "utilities/const_eval.bas"
if(!qbevent)break;evnt(28806,683,"const_eval.bas");}while(r);
#line 683 "utilities/const_eval.bas"
}
#line 684 "utilities/const_eval.bas"
do{
#line 684 "utilities/const_eval.bas"
qbs_set(_FUNC_NUMERIC_STRING_ELE,FUNC_PEEKNEXTELEMENT(_FUNC_NUMERIC_STRING_EXP,(int32*)(void*)( ((char*)(_FUNC_NUMERIC_UDT_STATE)) + ((0+0)) ),(int32*)(void*)( ((char*)(_FUNC_NUMERIC_UDT_STATE)) + ((0+4)) )));
#line 684 "utilities/const_eval.bas"
qbs_cleanup(qbs_tmp_base,0);
#line 684 "utilities/const_eval.bas"
if(!qbevent)break;evnt(28806,684,"const_eval.bas");}while(r);
#line 685 "utilities/const_eval.bas"
S_41209:;
#line 685 "utilities/const_eval.bas"
if (( 0ll )||is_error_pending()){
#line 685 "utilities/const_eval.bas"
if(qbevent){evnt(28806,685,"const_eval.bas");if(r)goto S_41209;}
#line 685 "utilities/const_eval.bas"
do{
#line 685 "utilities/const_eval.bas"
sub__echo(qbs_add(qbs_new_txt_len("Numeric peek ele: ",18),_FUNC_NUMERIC_STRING_ELE));
#line 685 "utilities/const_eval.bas"
qbs_cleanup(qbs_tmp_base,0);
#line 685 "utilities/const_eval.bas"
if(!qbevent)break;evnt(28806,685,"const_eval.bas");}while(r);
#line 685 "utilities/const_eval.bas"
}
#line 687 "utilities/const_eval.bas"
S_41212:;
#line 687 "utilities/const_eval.bas"
if ((qbs_cleanup(qbs_tmp_base,FUNC_ELEMENTISNUMBER(_FUNC_NUMERIC_STRING_ELE)))||is_error_pending()){
#line 687 "utilities/const_eval.bas"
if(qbevent){evnt(28806,687,"const_eval.bas");if(r)goto S_41212;}
#line 688 "utilities/const_eval.bas"
do{
#line 688 "utilities/const_eval.bas"
qbs_set(_FUNC_NUMERIC_STRING_ELE,FUNC_GETNEXTELEMENT(_FUNC_NUMERIC_STRING_EXP,(int32*)(void*)( ((char*)(_FUNC_NUMERIC_UDT_STATE)) + ((0+0)) ),(int32*)(void*)( ((char*)(_FUNC_NUMERIC_UDT_STATE)) + ((0+4)) )));
#line 688 "utilities/const_eval.bas"
qbs_cleanup(qbs_tmp_base,0);
#line 688 "utilities/const_eval.bas"
if(!qbevent)break;evnt(28806,688,"const_eval.bas");}while(r);
#line 690 "utilities/const_eval.bas"
do{
#line 690 "utilities/const_eval.bas"
*(int32*)(((char*)_FUNC_NUMERIC_UDT_STATE)+((0+64)))=FUNC_ELEMENTGETNUMERICVALUE(_FUNC_NUMERIC_STRING_ELE,(long double*)(void*)( ((char*)(_FUNC_NUMERIC_UDT_STATE)) + ((0+8)) ),(int64*)(void*)( ((char*)(_FUNC_NUMERIC_UDT_STATE)) + ((0+40)) ),(uint64*)(void*)( ((char*)(_FUNC_NUMERIC_UDT_STATE)) + ((0+48)) ));
#line 690 "utilities/const_eval.bas"
if(!qbevent)break;evnt(28806,690,"const_eval.bas");}while(r);
#line 692 "utilities/const_eval.bas"
do{
#line 692 "utilities/const_eval.bas"
*_FUNC_NUMERIC_LONG_NUMERIC= -1 ;
#line 692 "utilities/const_eval.bas"
if(!qbevent)break;evnt(28806,692,"const_eval.bas");}while(r);
#line 693 "utilities/const_eval.bas"
S_41216:;
#line 693 "utilities/const_eval.bas"
}else{
#line 693 "utilities/const_eval.bas"
if (qbs_cleanup(qbs_tmp_base,qbs_equal(_FUNC_NUMERIC_STRING_ELE,qbs_new_txt_len("_PI",3)))){
#line 693 "utilities/const_eval.bas"
if(qbevent){evnt(28806,693,"const_eval.bas");if(r)goto S_41216;}
#line 694 "utilities/const_eval.bas"
do{
#line 694 "utilities/const_eval.bas"
qbs_set(_FUNC_NUMERIC_STRING_ELE,FUNC_GETNEXTELEMENT(_FUNC_NUMERIC_STRING_EXP,(int32*)(void*)( ((char*)(_FUNC_NUMERIC_UDT_STATE)) + ((0+0)) ),(int32*)(void*)( ((char*)(_FUNC_NUMERIC_UDT_STATE)) + ((0+4)) )));
#line 694 "utilities/const_eval.bas"
qbs_cleanup(qbs_tmp_base,0);
#line 694 "utilities/const_eval.bas"
if(!qbevent)break;evnt(28806,694,"const_eval.bas");}while(r);
#line 696 "utilities/const_eval.bas"
do{
#line 696 "utilities/const_eval.bas"
SUB_PARSENUMSETF((void*)( ((char*)(_FUNC_NUMERIC_UDT_STATE)) + ((0+8)) ),&(pass4165=*__LONG_FLOATTYPE-*__LONG_ISPOINTER),&(pass4166= 3.14159265358979323846264338327950288E+0L ));
#line 696 "utilities/const_eval.bas"
if(!qbevent)break;evnt(28806,696,"const_eval.bas");}while(r);
#line 697 "utilities/const_eval.bas"
do{
#line 697 "utilities/const_eval.bas"
*_FUNC_NUMERIC_LONG_NUMERIC= -1 ;
#line 697 "utilities/const_eval.bas"
if(!qbevent)break;evnt(28806,697,"const_eval.bas");}while(r);
#line 698 "utilities/const_eval.bas"
do{
#line 698 "utilities/const_eval.bas"
goto exit_subfunc;
#line 698 "utilities/const_eval.bas"
if(!qbevent)break;evnt(28806,698,"const_eval.bas");}while(r);
#line 699 "utilities/const_eval.bas"
}else{
#line 700 "utilities/const_eval.bas"
S_41222:;
#line 700 "utilities/const_eval.bas"
if ((qbs_cleanup(qbs_tmp_base,FUNC_PARSENUMHASHLOOKUP(_FUNC_NUMERIC_STRING_ELE,(void*)( ((char*)(_FUNC_NUMERIC_UDT_STATE)) + ((0+0)) ))))||is_error_pending()){
#line 700 "utilities/const_eval.bas"
if(qbevent){evnt(28806,700,"const_eval.bas");if(r)goto S_41222;}
#line 701 "utilities/const_eval.bas"
S_41223:;
#line 701 "utilities/const_eval.bas"
if ((*(int32*)(((char*)_FUNC_NUMERIC_UDT_STATE)+((0+64)))&*__LONG_ISSTRING)||is_error_pending()){
#line 701 "utilities/const_eval.bas"
if(qbevent){evnt(28806,701,"const_eval.bas");if(r)goto S_41223;}
#line 701 "utilities/const_eval.bas"
do{
#line 701 "utilities/const_eval.bas"
qbs_set(*((qbs**)((char*)(_FUNC_NUMERIC_UDT_STATE)+((0+68)))),qbs_new_txt_len("ERROR - String can not be in numeric operation",46));
#line 701 "utilities/const_eval.bas"
qbs_cleanup(qbs_tmp_base,0);
#line 701 "utilities/const_eval.bas"
if(!qbevent)break;evnt(28806,701,"const_eval.bas");}while(r);
#line 701 "utilities/const_eval.bas"
do{
#line 701 "utilities/const_eval.bas"
goto exit_subfunc;
#line 701 "utilities/const_eval.bas"
if(!qbevent)break;evnt(28806,701,"const_eval.bas");}while(r);
#line 701 "utilities/const_eval.bas"
}
#line 703 "utilities/const_eval.bas"
do{
#line 703 "utilities/const_eval.bas"
qbs_set(_FUNC_NUMERIC_STRING_ELE,FUNC_GETNEXTELEMENT(_FUNC_NUMERIC_STRING_EXP,(int32*)(void*)( ((char*)(_FUNC_NUMERIC_UDT_STATE)) + ((0+0)) ),(int32*)(void*)( ((char*)(_FUNC_NUMERIC_UDT_STATE)) + ((0+4)) )));
#line 703 "utilities/const_eval.bas"
qbs_cleanup(qbs_tmp_base,0);
#line 703 "utilities/const_eval.bas"
if(!qbevent)break;evnt(28806,703,"const_eval.bas");}while(r);
#line 704 "utilities/const_eval.bas"
S_41228:;
#line 704 "utilities/const_eval.bas"
if (( 0ll )||is_error_pending()){
#line 704 "utilities/const_eval.bas"
if(qbevent){evnt(28806,704,"const_eval.bas");if(r)goto S_41228;}
#line 704 "utilities/const_eval.bas"
do{
#line 704 "utilities/const_eval.bas"
sub__echo(qbs_add(qbs_new_txt_len("Consumed ele: ",14),_FUNC_NUMERIC_STRING_ELE));
#line 704 "utilities/const_eval.bas"
qbs_cleanup(qbs_tmp_base,0);
#line 704 "utilities/const_eval.bas"
if(!qbevent)break;evnt(28806,704,"const_eval.bas");}while(r);
#line 704 "utilities/const_eval.bas"
}
#line 705 "utilities/const_eval.bas"
do{
#line 705 "utilities/const_eval.bas"
*_FUNC_NUMERIC_LONG_NUMERIC= -1 ;
#line 705 "utilities/const_eval.bas"
if(!qbevent)break;evnt(28806,705,"const_eval.bas");}while(r);
#line 706 "utilities/const_eval.bas"
do{
#line 706 "utilities/const_eval.bas"
goto exit_subfunc;
#line 706 "utilities/const_eval.bas"
if(!qbevent)break;evnt(28806,706,"const_eval.bas");}while(r);
#line 707 "utilities/const_eval.bas"
}
#line 709 "utilities/const_eval.bas"
do{
#line 709 "utilities/const_eval.bas"
qbs_set(*((qbs**)((char*)(_FUNC_NUMERIC_UDT_STATE)+((0+68)))),qbs_add(qbs_add(qbs_new_txt_len("ERROR - Unexpected element '",28),_FUNC_NUMERIC_STRING_ELE),qbs_new_txt_len("'",1)));
#line 709 "utilities/const_eval.bas"
qbs_cleanup(qbs_tmp_base,0);
#line 709 "utilities/const_eval.bas"
if(!qbevent)break;evnt(28806,709,"const_eval.bas");}while(r);
#line 710 "utilities/const_eval.bas"
do{
#line 710 "utilities/const_eval.bas"
qbs_set(*((qbs**)((char*)(_FUNC_NUMERIC_UDT_STATE)+((0+56)))),_FUNC_NUMERIC_STRING_ELE);
#line 710 "utilities/const_eval.bas"
qbs_cleanup(qbs_tmp_base,0);
#line 710 "utilities/const_eval.bas"
if(!qbevent)break;evnt(28806,710,"const_eval.bas");}while(r);
#line 711 "utilities/const_eval.bas"
}
#line 711 "utilities/const_eval.bas"
}
#line 712 "utilities/const_eval.bas"
exit_subfunc:;
#line 712 "utilities/const_eval.bas"
free_mem_lock(sf_mem_lock);
#line 712 "utilities/const_eval.bas"
#include "free259.txt"
#line 712 "utilities/const_eval.bas"
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 712 "utilities/const_eval.bas"
cmem_sp=tmp_cmem_sp;
#line 712 "utilities/const_eval.bas"
return *_FUNC_NUMERIC_LONG_NUMERIC;
#line 712 "utilities/const_eval.bas"
}
