function printcr(name,outport,bond_number,cr,args,RHS_cause,eqnfile) ## printcr - prints cr and arguments ## Assumes that the (multiport) component is unicausal. ## ## ###################################### ## ##### Model Transformation Tools ##### ## ###################################### ## ## Octave function printcr ## printcr(name,outport,bond_number,cr,args,RHS_cause,eqnfile ## ############################################################### ## ## Version control history ## ############################################################### ## ## $Id$ ## ## $Log$ ## ## Revision 1.2 2003/01/07 09:11:53 gawthrop ## ## Octavised ## ## ## ## Revision 1.1 1998/07/25 09:47:43 peterg ## ## Initial revision ## ## ## ############################################################### if nargin<7 eqnfile = "stdout"; endif ## Find the number of ports ports = length(RHS_cause); ## Print the CR if length(cr) == 0 # No CR given - use unity CR fprintf(eqnfile, "%s;\n", varname(name,bond_number(outport), ... RHS_cause(outport))); else # CR exists fprintf(eqnfile, "%s(%s", cr, name); # The CR name and component type if ports>1 # Multi ports - port no. is first arg of CR fprintf(eqnfile, "#1.0f,", outport); endif fprintf(eqnfile, "%s", args); # Print the arguments for port = 1:ports # Print the input causalities and values fprintf(eqnfile, "\n\t\t,%s,%s", cause2name(RHS_cause(port)), ... varname(name,bond_number(port), RHS_cause(port))); endif fprintf(eqnfile, "\n\t\t);\n"); endif endfunction