/*+++ Identification: SPARK sum object Abstract: Sums two links Acceptable input set: a = 2, b = 1 ---*/ #ifdef SPARK_PARSER PORT a "Summand 1" ; PORT b "Summand 2" ; PORT c "Sum" ; EQUATIONS { c = a + b ; } FUNCTIONS { a = sum__a_or_b( c, b ) ; b = sum__a_or_b( c, a ) ; c = sum__c( a, b ) ; } #endif /* SPARK_PARSER */ #include "spark.h" /////////////////////////////////////////////////////////// EVALUATE( sum__a_or_b ) { ARGDEF(0, c); ARGDEF(1, b); double a_or_b ; a_or_b = c - b; RETURN( a_or_b ) ; } /////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////// EVALUATE( sum__c ) { ARGDEF(0, a); ARGDEF(1, b); double c; c = a + b; RETURN( c ) ; } ///////////////////////////////////////////////////////////