Differences From Artifact [68e1e855e4]:

To Artifact [ee6e7c76db]:


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
37



38
39
40
41
42
43
44

45
46
47
48
49
50
51
52
53
54

55
56
57
58
59
60
61
62
63
64
65

66
67
68
69
70
71
72
73
74
75

76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
# Copyright (c) P.J.Gawthrop, 1991, 1994.

###############################################################
## Version control history
###############################################################
## $Id$
## $Log$



# Revision 1.1  1996/08/25  10:13:37  peter
# Initial revision
#
###############################################################

# Inform user
echo Creating $1_csm.r












# Remove the old log file
rm -f cse2csm_r.log

# Use reduce to accomplish the transformation
reduce >cse2csm_r.log << EOF

in "$1_def.r";
in "$1_cse.r";
in "$1_cr.r";
%%in "$1_sympar.r";

OFF Echo;
OFF Nat;




% Find MTTA : the A matrix
matrix MTTA(MTTNx,MTTNx);

  FOR j := 1:MTTNx DO
    BEGIN
    xj := MTTX(j,1);

    FOR i := 1:MTTNx DO
      MTTA(i,j) := df(MTTEdx(i,1), xj, 1);
    END;

% Find MTTB : the B matrix
matrix MTTB(MTTNx,MTTNu);

  FOR j := 1:MTTNu DO
    BEGIN
    uj := MTTU(j,1);

    FOR i := 1:MTTNx DO
      MTTB(i,j) := df(MTTEdx(i,1), uj, 1);
    END;

% Find MTTC : the C matrix
matrix MTTC(MTTNy,MTTNx);

  FOR i := 1:MTTNy DO
    FOR j := 1:MTTNx DO
    BEGIN
      xj := MTTX(j,1);

      MTTC(i,j) := df(MTTY(i,1), xj, 1);
    END;

% Find MTTD : the D matrix
matrix MTTD(MTTNy,MTTNu);

  FOR i := 1:MTTNy DO
    FOR j := 1:MTTNu DO
    BEGIN
      xj := MTTU(j,1);

      MTTD(i,j) := df(MTTY(i,1), xj, 1);
    END;

%Substitute the ss values
in "$1_sspar.r";

%Create the output file
OUT "$1_csm.r";

%Write out the matrices.
IF MTTNx>0 THEN
BEGIN
  write "matrix MTTE(", MTTNx, ",", MTTNx, ");";
  FOR i := 1:MTTNx DO
   FOR j := 1:MTTNx DO IF MTTE(i,j) NEQ 0 THEN







>
>
>






|

>
>
>
>
>
>
>
>
>
>
>







|





>
>
>






|
>









|
>










|
>









|
>
|






|







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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
# Copyright (c) P.J.Gawthrop, 1991, 1994.

###############################################################
## Version control history
###############################################################
## $Id$
## $Log$
## Revision 1.2  1998/07/13 09:56:31  peterg
## Back under RCS for major revision
##
# Revision 1.1  1996/08/25  10:13:37  peter
# Initial revision
#
###############################################################

# Inform user
echo Creating $1_$2.r

case $2 in
    csm)
	rep=cse;
	;;
    scsm)
	rep=scse;
	;;
    *)
	echo Representation must be csm or scsm;
        exit
esac
# Remove the old log file
rm -f cse2csm_r.log

# Use reduce to accomplish the transformation
reduce >cse2csm_r.log << EOF

in "$1_def.r";
in "$1_$rep.r";
in "$1_cr.r";
%%in "$1_sympar.r";

OFF Echo;
OFF Nat;

% Get rid of the old mttx and u - now use mkid instead
clear MTTx, MTTu;

% Find MTTA : the A matrix
matrix MTTA(MTTNx,MTTNx);

  FOR j := 1:MTTNx DO
    BEGIN
    %xj := MTTX(j,1);
    xj := mkid(MTTx,j);
    FOR i := 1:MTTNx DO
      MTTA(i,j) := df(MTTEdx(i,1), xj, 1);
    END;

% Find MTTB : the B matrix
matrix MTTB(MTTNx,MTTNu);

  FOR j := 1:MTTNu DO
    BEGIN
    %uj := MTTU(j,1);
    uj := mkid(MTTu,j);
    FOR i := 1:MTTNx DO
      MTTB(i,j) := df(MTTEdx(i,1), uj, 1);
    END;

% Find MTTC : the C matrix
matrix MTTC(MTTNy,MTTNx);

  FOR i := 1:MTTNy DO
    FOR j := 1:MTTNx DO
    BEGIN
      %xj := MTTX(j,1);
      xj := mkid(MTTx,j);
      MTTC(i,j) := df(MTTY(i,1), xj, 1);
    END;

% Find MTTD : the D matrix
matrix MTTD(MTTNy,MTTNu);

  FOR i := 1:MTTNy DO
    FOR j := 1:MTTNu DO
    BEGIN
      uj := MTTU(j,1);
      uj := mkid(MTTu,j);
      MTTD(i,j) := df(MTTY(i,1), uj, 1);
    END;

%Substitute the ss values
in "$1_sspar.r";

%Create the output file
OUT "$1_$2.r";

%Write out the matrices.
IF MTTNx>0 THEN
BEGIN
  write "matrix MTTE(", MTTNx, ",", MTTNx, ");";
  FOR i := 1:MTTNx DO
   FOR j := 1:MTTNx DO IF MTTE(i,j) NEQ 0 THEN
121
122
123
124
125
126
127
128
129
130
131
132
133
  FOR i := 1:MTTNy DO
    FOR j := 1:MTTNu DO IF MTTD(i,j) NEQ 0 THEN
      write "MTTD(", i, ",", j, ") := ", MTTD(i,j);
END;

write "END;";

SHUT "$1_csm.r";

EOF

# Now invoke the standard error handling.
mtt_error_r cse2csm_r.log







|





142
143
144
145
146
147
148
149
150
151
152
153
154
  FOR i := 1:MTTNy DO
    FOR j := 1:MTTNu DO IF MTTD(i,j) NEQ 0 THEN
      write "MTTD(", i, ",", j, ") := ", MTTD(i,j);
END;

write "END;";

SHUT "$1_$2.r";

EOF

# Now invoke the standard error handling.
mtt_error_r cse2csm_r.log

MTT: Model Transformation Tools
GitHub | SourceHut | Sourceforge | Fossil RSS ]