/* ------- code automatically created by ../scripts/adms_build_object.pl -------------- */ #include #include inline void adms_jacobian_free(p_jacobian myjacobian) { if(!myjacobian) return; adms_enumeration_free(myjacobian->_diagonal); adms_enumeration_free(myjacobian->_static); adms_enumeration_free(myjacobian->_dynamic); adms_global_increment_nbjacobiandestroy(); free(myjacobian); } int adms_jacobian_cmp (p_jacobian myjacobian,p_jacobian refjacobian) { int status; status = ( (adms_jacobian_valueof_module (myjacobian) != adms_jacobian_valueof_module (refjacobian)) || (adms_jacobian_valueof_row (myjacobian) != adms_jacobian_valueof_row (refjacobian)) || (adms_jacobian_valueof_column (myjacobian) != adms_jacobian_valueof_column (refjacobian)) ); return status; } p_jacobian adms_jacobian_new(p_module mymodule,p_node myrow,p_node mycolumn) { p_jacobian mynewjacobian=(p_jacobian) calloc(1,(size_t)sizeof(t_jacobian)); adms_global_increment_nbjacobiannew(); mynewjacobian->_adms._datatypename=adms_adms_enumeration_datatypename_jacobian; mynewjacobian->_adms._seen=adms_adms_enumeration_seen_no; mynewjacobian->_module_isdefault=-1; adms_jacobian_valueto_module (mynewjacobian,mymodule); mynewjacobian->_module_isdefault=1; mynewjacobian->_row_isdefault=-1; adms_jacobian_valueto_row (mynewjacobian,myrow); mynewjacobian->_row_isdefault=1; mynewjacobian->_column_isdefault=-1; adms_jacobian_valueto_column (mynewjacobian,mycolumn); mynewjacobian->_column_isdefault=1; mynewjacobian->_diagonal_isdefault=-1; adms_jacobian_valueto_diagonal(mynewjacobian,adms_enumeration_new(adms_jacobian_enumeration_diagonal_no,adms_jacobian_fromstring_diagonal_impl,adms_jacobian_tostring_diagonal_impl)); mynewjacobian->_diagonal_isdefault=1; mynewjacobian->_static_isdefault=-1; adms_jacobian_valueto_static(mynewjacobian,adms_enumeration_new(adms_jacobian_enumeration_static_no,adms_jacobian_fromstring_static_impl,adms_jacobian_tostring_static_impl)); mynewjacobian->_static_isdefault=1; mynewjacobian->_dynamic_isdefault=-1; adms_jacobian_valueto_dynamic(mynewjacobian,adms_enumeration_new(adms_jacobian_enumeration_dynamic_no,adms_jacobian_fromstring_dynamic_impl,adms_jacobian_tostring_dynamic_impl)); mynewjacobian->_dynamic_isdefault=1; return mynewjacobian; } p_adms adms_jacobian_new_impl (p_adms arguments[]) { p_jacobian mynewjacobian; p_module mymodule=(p_module)arguments[0]; p_node myrow=(p_node)arguments[1]; p_node mycolumn=(p_node)arguments[2]; mynewjacobian=adms_jacobian_new(mymodule,myrow,mycolumn); return adms_adms(mynewjacobian); } /*$2:$3*/ char*adms_jacobian_uid (p_jacobian mynewjacobian) { char*myuid=NULL; char*myuid0=adms_node_uid(mynewjacobian->_row); char*myuid1=adms_node_uid(mynewjacobian->_column); adms_strconcat(&myuid,myuid0); adms_strconcat2(&myuid,":"); adms_strconcat(&myuid,myuid1); return myuid; } inline void adms_jacobian_valueto_module (p_jacobian myjacobian,p_module _module) { myjacobian->_module=_module; myjacobian->_module_isdefault=0; } inline void adms_jacobian_valueto_row (p_jacobian myjacobian,p_node _row) { myjacobian->_row=_row; myjacobian->_row_isdefault=0; } inline void adms_jacobian_valueto_column (p_jacobian myjacobian,p_node _column) { myjacobian->_column=_column; myjacobian->_column_isdefault=0; } inline void adms_jacobian_valueto_diagonal (p_jacobian myjacobian,p_enumeration _diagonal) { myjacobian->_diagonal=_diagonal; myjacobian->_diagonal_isdefault=0; } inline void adms_jacobian_valueto_static (p_jacobian myjacobian,p_enumeration _static) { myjacobian->_static=_static; myjacobian->_static_isdefault=0; } inline void adms_jacobian_valueto_dynamic (p_jacobian myjacobian,p_enumeration _dynamic) { myjacobian->_dynamic=_dynamic; myjacobian->_dynamic_isdefault=0; } e_jacobian_diagonal adms_jacobian_fromstring_diagonal_impl (p_admsttransform myadmsttransform,char*token) { if(!strcmp(token,"no")) return adms_jacobian_enumeration_diagonal_no; if(!strcmp(token,"yes")) return adms_jacobian_enumeration_diagonal_yes; adms_message_fatal_continue(("select='jacobian/diagonal': possible values:\n")) adms_message_fatal_continue(("no|yes\n")) adms_message_fatal(("see %s\n",adms_admsttransform_uid(myadmsttransform))) return 0; } char* adms_jacobian_tostring_diagonal_impl (p_admsttransform myadmsttransform,p_enumeration myenumeration) { e_jacobian_diagonal e=myenumeration->_value; if(e==adms_jacobian_enumeration_diagonal_no) return "no"; if(e==adms_jacobian_enumeration_diagonal_yes) return "yes"; adms_message_fatal_continue(("select='jacobian/diagonal': possible values:\n")) adms_message_fatal_continue(("no|yes\n")) adms_message_fatal(("see %s\n",adms_admsttransform_uid(myadmsttransform))) return NULL; } e_jacobian_static adms_jacobian_fromstring_static_impl (p_admsttransform myadmsttransform,char*token) { if(!strcmp(token,"no")) return adms_jacobian_enumeration_static_no; if(!strcmp(token,"yes")) return adms_jacobian_enumeration_static_yes; adms_message_fatal_continue(("select='jacobian/static': possible values:\n")) adms_message_fatal_continue(("no|yes\n")) adms_message_fatal(("see %s\n",adms_admsttransform_uid(myadmsttransform))) return 0; } char* adms_jacobian_tostring_static_impl (p_admsttransform myadmsttransform,p_enumeration myenumeration) { e_jacobian_static e=myenumeration->_value; if(e==adms_jacobian_enumeration_static_no) return "no"; if(e==adms_jacobian_enumeration_static_yes) return "yes"; adms_message_fatal_continue(("select='jacobian/static': possible values:\n")) adms_message_fatal_continue(("no|yes\n")) adms_message_fatal(("see %s\n",adms_admsttransform_uid(myadmsttransform))) return NULL; } e_jacobian_dynamic adms_jacobian_fromstring_dynamic_impl (p_admsttransform myadmsttransform,char*token) { if(!strcmp(token,"no")) return adms_jacobian_enumeration_dynamic_no; if(!strcmp(token,"yes")) return adms_jacobian_enumeration_dynamic_yes; adms_message_fatal_continue(("select='jacobian/dynamic': possible values:\n")) adms_message_fatal_continue(("no|yes\n")) adms_message_fatal(("see %s\n",adms_admsttransform_uid(myadmsttransform))) return 0; } char* adms_jacobian_tostring_dynamic_impl (p_admsttransform myadmsttransform,p_enumeration myenumeration) { e_jacobian_dynamic e=myenumeration->_value; if(e==adms_jacobian_enumeration_dynamic_no) return "no"; if(e==adms_jacobian_enumeration_dynamic_yes) return "yes"; adms_message_fatal_continue(("select='jacobian/dynamic': possible values:\n")) adms_message_fatal_continue(("no|yes\n")) adms_message_fatal(("see %s\n",adms_admsttransform_uid(myadmsttransform))) return NULL; }