/* ------- code automatically created by ../scripts/adms_build_object.pl -------------- */ #include #include inline void adms_subexpression_free(p_subexpression mysubexpression) { if(!mysubexpression) return; adms_enumeration_free(mysubexpression->_math._dependency); free(mysubexpression->_math._value); adms_global_increment_nbsubexpressiondestroy(); free(mysubexpression); } int adms_subexpression_cmp (p_subexpression mysubexpression,p_subexpression refsubexpression) { int status; status = ( (adms_subexpression_valueof_expression (mysubexpression) != adms_subexpression_valueof_expression (refsubexpression)) ); return status; } p_subexpression adms_subexpression_new(p_expression myexpression) { p_subexpression mynewsubexpression=(p_subexpression) calloc(1,(size_t)sizeof(t_subexpression)); adms_global_increment_nbsubexpressionnew(); mynewsubexpression->_math._adms._datatypename=adms_adms_enumeration_datatypename_subexpression; mynewsubexpression->_math._adms._seen=adms_adms_enumeration_seen_no; (mynewsubexpression->_math)._value=adms_real_new(adms_NAN); (mynewsubexpression->_math)._static=adms_enumeration_new(adms_math_enumeration_static_no,adms_math_fromstring_static_impl,adms_math_tostring_static_impl); (mynewsubexpression->_math)._dynamic=adms_enumeration_new(adms_math_enumeration_dynamic_no,adms_math_fromstring_dynamic_impl,adms_math_tostring_dynamic_impl); (mynewsubexpression->_math)._dependency=adms_enumeration_new(adms_math_enumeration_dependency_constant,adms_math_fromstring_dependency_impl,adms_math_tostring_dependency_impl); mynewsubexpression->_expression_isdefault=-1; adms_subexpression_valueto_expression (mynewsubexpression,myexpression); mynewsubexpression->_expression_isdefault=1; return mynewsubexpression; } p_adms adms_subexpression_new_impl (p_adms arguments[]) { p_subexpression mynewsubexpression; p_expression myexpression=(p_expression)arguments[0]; mynewsubexpression=adms_subexpression_new(myexpression); return adms_adms(mynewsubexpression); } /*$1*/ char*adms_subexpression_uid (p_subexpression mynewsubexpression) { char*myuid=NULL; char*myuid0=adms_expression_uid(mynewsubexpression->_expression); adms_strconcat(&myuid,myuid0); return myuid; } inline void adms_subexpression_valueto_expression (p_subexpression mysubexpression,p_expression _expression) { mysubexpression->_expression=_expression; mysubexpression->_expression_isdefault=0; }