/* ------- code automatically created by ../scripts/adms_build_object.pl -------------- */ #include #include inline void adms_whileloop_free(p_whileloop mywhileloop) { if(!mywhileloop) return; adms_enumeration_free(mywhileloop->_math._dependency); free(mywhileloop->_math._value); if(mywhileloop->_whileblock) if(adms_adms(mywhileloop->_whileblock)->_datatypename==adms_adms_enumeration_datatypename_quark) adms_quark_free(adms_quark(mywhileloop->_whileblock)); adms_quark_free(mywhileloop->_name); adms_global_increment_nbwhileloopdestroy(); free(mywhileloop); } int adms_whileloop_cmp (p_whileloop mywhileloop,p_whileloop refwhileloop) { int status; status = ( (adms_whileloop_valueof_module (mywhileloop) != adms_whileloop_valueof_module (refwhileloop)) || (adms_whileloop_valueof_while (mywhileloop) != adms_whileloop_valueof_while (refwhileloop)) || (adms_whileloop_valueof_whileblock (mywhileloop) != adms_whileloop_valueof_whileblock (refwhileloop)) ); return status; } p_whileloop adms_whileloop_new(p_module mymodule,p_expression mywhile,p_adms mywhileblock) { p_whileloop mynewwhileloop=(p_whileloop) calloc(1,(size_t)sizeof(t_whileloop)); adms_global_increment_nbwhileloopnew(); mynewwhileloop->_math._adms._datatypename=adms_adms_enumeration_datatypename_whileloop; mynewwhileloop->_math._adms._seen=adms_adms_enumeration_seen_no; (mynewwhileloop->_math)._value=adms_real_new(adms_NAN); (mynewwhileloop->_math)._static=adms_enumeration_new(adms_math_enumeration_static_no,adms_math_fromstring_static_impl,adms_math_tostring_static_impl); (mynewwhileloop->_math)._dynamic=adms_enumeration_new(adms_math_enumeration_dynamic_no,adms_math_fromstring_dynamic_impl,adms_math_tostring_dynamic_impl); (mynewwhileloop->_math)._dependency=adms_enumeration_new(adms_math_enumeration_dependency_constant,adms_math_fromstring_dependency_impl,adms_math_tostring_dependency_impl); mynewwhileloop->_module_isdefault=-1; adms_whileloop_valueto_module (mynewwhileloop,mymodule); mynewwhileloop->_module_isdefault=1; mynewwhileloop->_while_isdefault=-1; adms_whileloop_valueto_while (mynewwhileloop,mywhile); mynewwhileloop->_while_isdefault=1; mynewwhileloop->_whileblock_isdefault=-1; adms_whileloop_valueto_whileblock (mynewwhileloop,mywhileblock); mynewwhileloop->_whileblock_isdefault=1; mynewwhileloop->_name_isdefault=-1; adms_whileloop_valueto_name(mynewwhileloop,adms_quark_new("")); mynewwhileloop->_name_isdefault=1; return mynewwhileloop; } p_adms adms_whileloop_new_impl (p_adms arguments[]) { p_whileloop mynewwhileloop; p_module mymodule=(p_module)arguments[0]; p_expression mywhile=(p_expression)arguments[1]; p_adms mywhileblock=(p_adms)arguments[2]; mynewwhileloop=adms_whileloop_new(mymodule,mywhile,mywhileblock); return adms_adms(mynewwhileloop); } /*while $1*/ char*adms_whileloop_uid (p_whileloop mynewwhileloop) { char*myuid=NULL; char*myuid0=adms_module_uid(mynewwhileloop->_module); adms_strconcat2(&myuid,"while "); adms_strconcat(&myuid,myuid0); return myuid; } inline void adms_whileloop_valueto_module (p_whileloop mywhileloop,p_module _module) { mywhileloop->_module=_module; mywhileloop->_module_isdefault=0; } inline void adms_whileloop_valueto_while (p_whileloop mywhileloop,p_expression _while) { mywhileloop->_while=_while; mywhileloop->_while_isdefault=0; } inline void adms_whileloop_valueto_whileblock (p_whileloop mywhileloop,p_adms _whileblock) { mywhileloop->_whileblock=_whileblock; mywhileloop->_whileblock_isdefault=0; } inline void adms_whileloop_valueto_name (p_whileloop mywhileloop,p_quark _name) { if(mywhileloop->_name_isdefault!=-1) adms_quark_free(mywhileloop->_name); mywhileloop->_name=_name; mywhileloop->_name_isdefault=0; }