1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
-
-
+
+
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
-
+
-
+
-
-
+
-
-
+
-
-
+
-
-
-
-
-
+
+
+
+
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
|
function [index,prefered] = getdynamic(status,system_type);
% Get the index of a dynamic components which is not set.
function [name,prefered] = getdynamic(subsystems);
# Get the index of a dynamic components which is not set.
% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% %% Version control history
% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% %% $Id$
% %% $Log$
% %% Revision 1.1 1996/08/16 12:50:41 peter
% %% Initial revision
% %%
# ###############################################################
# ## Version control history
# ###############################################################
# ## $Id$
# ## $Log$
# ## Revision 1.2 1996/08/16 12:51:22 peter
# ## Removed debugging lines.
# ##
# ## Revision 1.1 1996/08/16 12:50:41 peter
# ## Initial revision
# ##
% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
# ###############################################################
index=0; prefered=0;
prefered = 0; # No prefered causality to start with
n_components = length(status);
for [subsystem,name] = subsystems
for i = 1:n_components
if status(i)==-1 % Undercausal
if subsystem.status==-1 # Undercausal
eval([ '[comp_type,name,cr,arg] = ', system_type, '_cmp(i);' ]);
if strcmp(comp_type,'C')
if strcmp(subsystem.type,'C')
index=i;
prefered=-1;
break;
end;
if strcmp(comp_type,'I')
prefered=-1;
break;
endif;
if strcmp(subsystem.type,'I')
index=i;
prefered=1;
break;
end;
end;
end;
prefered=1;
break;
endif;
endif;
endfor;
if prefered==0
name = "";
end;
endfunction
|