function [in_bonds,in_components,in_ports,N] = mtt_component_inputs ...
(name,comp_type, out_causality, causality,comp_bonds,bond_list,cbg)
## usage: [in_bonds,in_components,in_ports,N] = mtt_component_inputs
## (name,comp_type, out_causality, causality,comp_bonds,bond_list,cbg)
##
##
## Other causality representations if strcmp(causality,"effort")
if strcmp(causality,"effort")
i_cause = 1;
othercausality = "flow";
index_cause = 1;
elseif strcmp(causality,"flow")
i_cause = -1;
othercausality = "effort";
index_cause = 2;
else
error(sprintf("mtt_component_eqn: causality %s invalid", causality));
endif
in_index = find(comp_bonds(:,index_cause)==i_cause);
all_in_bonds = bond_list(in_index);
N_all = length(all_in_bonds);
## What components are at the other ends of the in bonds?
[in_components,in_ports,in_bonds] = mtt_other_end (name,all_in_bonds,cbg);
N = length(in_bonds);
endfunction