/* ------- code automatically created by ../scripts/adms_build_object.pl -------------- */ #include #include inline void adms_mapply_binary_free(p_mapply_binary mymapply_binary) { if(!mymapply_binary) return; adms_enumeration_free(mymapply_binary->_subexpression._math._dependency); free(mymapply_binary->_subexpression._math._value); adms_enumeration_free(mymapply_binary->_name); if(mymapply_binary->_arg1) if(adms_adms(mymapply_binary->_arg1)->_datatypename==adms_adms_enumeration_datatypename_quark) adms_quark_free(adms_quark(mymapply_binary->_arg1)); if(mymapply_binary->_arg2) if(adms_adms(mymapply_binary->_arg2)->_datatypename==adms_adms_enumeration_datatypename_quark) adms_quark_free(adms_quark(mymapply_binary->_arg2)); adms_global_increment_nbmapply_binarydestroy(); free(mymapply_binary); } int adms_mapply_binary_cmp (p_mapply_binary mymapply_binary,p_mapply_binary refmapply_binary) { int status; status = ( (adms_mapply_binary_valueof_name (mymapply_binary) != adms_mapply_binary_valueof_name (refmapply_binary)) || (adms_mapply_binary_valueof_arg1 (mymapply_binary) != adms_mapply_binary_valueof_arg1 (refmapply_binary)) || (adms_mapply_binary_valueof_arg2 (mymapply_binary) != adms_mapply_binary_valueof_arg2 (refmapply_binary)) ); return status; } p_mapply_binary adms_mapply_binary_new(p_enumeration myname,p_adms myarg1,p_adms myarg2) { p_mapply_binary mynewmapply_binary=(p_mapply_binary) calloc(1,(size_t)sizeof(t_mapply_binary)); adms_global_increment_nbmapply_binarynew(); mynewmapply_binary->_subexpression._math._adms._datatypename=adms_adms_enumeration_datatypename_mapply_binary; mynewmapply_binary->_subexpression._math._adms._seen=adms_adms_enumeration_seen_no; (mynewmapply_binary->_subexpression._math)._value=adms_real_new(adms_NAN); (mynewmapply_binary->_subexpression._math)._static=adms_enumeration_new(adms_math_enumeration_static_no,adms_math_fromstring_static_impl,adms_math_tostring_static_impl); (mynewmapply_binary->_subexpression._math)._dynamic=adms_enumeration_new(adms_math_enumeration_dynamic_no,adms_math_fromstring_dynamic_impl,adms_math_tostring_dynamic_impl); (mynewmapply_binary->_subexpression._math)._dependency=adms_enumeration_new(adms_math_enumeration_dependency_constant,adms_math_fromstring_dependency_impl,adms_math_tostring_dependency_impl); mynewmapply_binary->_name_isdefault=-1; adms_mapply_binary_valueto_name (mynewmapply_binary,myname); mynewmapply_binary->_name_isdefault=1; mynewmapply_binary->_arg1_isdefault=-1; adms_mapply_binary_valueto_arg1 (mynewmapply_binary,myarg1); mynewmapply_binary->_arg1_isdefault=1; mynewmapply_binary->_arg2_isdefault=-1; adms_mapply_binary_valueto_arg2 (mynewmapply_binary,myarg2); mynewmapply_binary->_arg2_isdefault=1; return mynewmapply_binary; } p_adms adms_mapply_binary_new_impl (p_adms arguments[]) { p_mapply_binary mynewmapply_binary; p_enumeration myname=(p_enumeration)arguments[0]; p_adms myarg1=(p_adms)arguments[1]; p_adms myarg2=(p_adms)arguments[2]; mynewmapply_binary=adms_mapply_binary_new(myname,myarg1,myarg2); return adms_adms(mynewmapply_binary); } /*$1($2,$3)*/ char*adms_mapply_binary_uid (p_mapply_binary mynewmapply_binary) { char*myuid=NULL; char*myuid0=adms_constclone(adms_mapply_binary_tostring_name_impl(NULL,mynewmapply_binary->_name)); char*myuid1=adms_admsxml_uid(mynewmapply_binary->_arg1); char*myuid2=adms_admsxml_uid(mynewmapply_binary->_arg2); adms_strconcat(&myuid,myuid0); adms_strconcat2(&myuid,"("); adms_strconcat(&myuid,myuid1); adms_strconcat2(&myuid,","); adms_strconcat(&myuid,myuid2); adms_strconcat2(&myuid,")"); return myuid; } inline void adms_mapply_binary_valueto_name (p_mapply_binary mymapply_binary,p_enumeration _name) { mymapply_binary->_name=_name; mymapply_binary->_name_isdefault=0; } inline void adms_mapply_binary_valueto_arg1 (p_mapply_binary mymapply_binary,p_adms _arg1) { mymapply_binary->_arg1=_arg1; mymapply_binary->_arg1_isdefault=0; } inline void adms_mapply_binary_valueto_arg2 (p_mapply_binary mymapply_binary,p_adms _arg2) { mymapply_binary->_arg2=_arg2; mymapply_binary->_arg2_isdefault=0; } e_mapply_binary_name adms_mapply_binary_fromstring_name_impl (p_admsttransform myadmsttransform,char*token) { if(!strcmp(token,"addm")) return adms_mapply_binary_enumeration_name_addm; if(!strcmp(token,"addp")) return adms_mapply_binary_enumeration_name_addp; if(!strcmp(token,"and")) return adms_mapply_binary_enumeration_name_and; if(!strcmp(token,"bw_and")) return adms_mapply_binary_enumeration_name_bw_and; if(!strcmp(token,"bw_equl")) return adms_mapply_binary_enumeration_name_bw_equl; if(!strcmp(token,"bw_equr")) return adms_mapply_binary_enumeration_name_bw_equr; if(!strcmp(token,"bw_or")) return adms_mapply_binary_enumeration_name_bw_or; if(!strcmp(token,"bw_xor")) return adms_mapply_binary_enumeration_name_bw_xor; if(!strcmp(token,"equ")) return adms_mapply_binary_enumeration_name_equ; if(!strcmp(token,"gt")) return adms_mapply_binary_enumeration_name_gt; if(!strcmp(token,"gt_equ")) return adms_mapply_binary_enumeration_name_gt_equ; if(!strcmp(token,"lt")) return adms_mapply_binary_enumeration_name_lt; if(!strcmp(token,"lt_equ")) return adms_mapply_binary_enumeration_name_lt_equ; if(!strcmp(token,"multdiv")) return adms_mapply_binary_enumeration_name_multdiv; if(!strcmp(token,"multmod")) return adms_mapply_binary_enumeration_name_multmod; if(!strcmp(token,"multtime")) return adms_mapply_binary_enumeration_name_multtime; if(!strcmp(token,"notequ")) return adms_mapply_binary_enumeration_name_notequ; if(!strcmp(token,"or")) return adms_mapply_binary_enumeration_name_or; if(!strcmp(token,"shiftl")) return adms_mapply_binary_enumeration_name_shiftl; if(!strcmp(token,"shiftr")) return adms_mapply_binary_enumeration_name_shiftr; adms_message_fatal_continue(("select='mapply_binary/name': possible values:\n")) adms_message_fatal_continue(("addm|addp|and|bw_and|bw_equl|bw_equr|bw_or|bw_xor|equ|gt|gt_equ|lt|lt_equ|multdiv|multmod|multtime|notequ|or|shiftl|shiftr\n")) adms_message_fatal(("see %s\n",adms_admsttransform_uid(myadmsttransform))) return 0; } char* adms_mapply_binary_tostring_name_impl (p_admsttransform myadmsttransform,p_enumeration myenumeration) { e_mapply_binary_name e=myenumeration->_value; if(e==adms_mapply_binary_enumeration_name_addm) return "addm"; if(e==adms_mapply_binary_enumeration_name_addp) return "addp"; if(e==adms_mapply_binary_enumeration_name_and) return "and"; if(e==adms_mapply_binary_enumeration_name_bw_and) return "bw_and"; if(e==adms_mapply_binary_enumeration_name_bw_equl) return "bw_equl"; if(e==adms_mapply_binary_enumeration_name_bw_equr) return "bw_equr"; if(e==adms_mapply_binary_enumeration_name_bw_or) return "bw_or"; if(e==adms_mapply_binary_enumeration_name_bw_xor) return "bw_xor"; if(e==adms_mapply_binary_enumeration_name_equ) return "equ"; if(e==adms_mapply_binary_enumeration_name_gt) return "gt"; if(e==adms_mapply_binary_enumeration_name_gt_equ) return "gt_equ"; if(e==adms_mapply_binary_enumeration_name_lt) return "lt"; if(e==adms_mapply_binary_enumeration_name_lt_equ) return "lt_equ"; if(e==adms_mapply_binary_enumeration_name_multdiv) return "multdiv"; if(e==adms_mapply_binary_enumeration_name_multmod) return "multmod"; if(e==adms_mapply_binary_enumeration_name_multtime) return "multtime"; if(e==adms_mapply_binary_enumeration_name_notequ) return "notequ"; if(e==adms_mapply_binary_enumeration_name_or) return "or"; if(e==adms_mapply_binary_enumeration_name_shiftl) return "shiftl"; if(e==adms_mapply_binary_enumeration_name_shiftr) return "shiftr"; adms_message_fatal_continue(("select='mapply_binary/name': possible values:\n")) adms_message_fatal_continue(("addm|addp|and|bw_and|bw_equl|bw_equr|bw_or|bw_xor|equ|gt|gt_equ|lt|lt_equ|multdiv|multmod|multtime|notequ|or|shiftl|shiftr\n")) adms_message_fatal(("see %s\n",adms_admsttransform_uid(myadmsttransform))) return NULL; }