function [eqn,insigs,innames] = Amp_seqn (AmpType,Name, name, cr, arg, outsig, insigs, innames)
## usage: [eqn,inbonds] = AF_seqn (Name, cr, arg, outbond, inbonds)
##
##
N = mtt_check_sigs (outsig,insigs);
if (N!=2)
mtt_error("Amplifier component must have exactly two ports");
endif
## On which port is the equation required?
outbond_number = outsig(1);
outport = find(abs(insigs(:,1))!=outbond_number*ones(N,1));
## Some definitions
flow = -1;
effort = 1;
if strcmp(AmpType,"AE")
causality = effort;
other_causality = flow;
elseif strcmp(AmpType,"AF")
causality = flow;
other_causality = effort;
else
mtt_error(sprintf("Amp_seqn: type %s unknown", AmpType));
endif
## Standard causality
if (outport==2)
qAmpType = sprintf("""%s""", AmpType);
eqn = equation(qAmpType,Name,cr,arg,outsig(1),causality,2, ...
insigs(2,1),causality,1);
elseif (outport==1)
LHS = varname(Name,insigs(2,1),other_causality);
eqn = sprintf("%s := 0;", LHS);
else
mtt_error("AF_seqn: outport must be 1 or 2");
endif
endfunction