Comment: | Merged changes from global-optimisation branch. |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | origin/master | trunk |
Files: | files | file ages | folders |
SHA3-256: |
b2d7fd3c1f48b49b4af305a3740a2812 |
User & Date: | geraint@users.sourceforge.net on 2002-09-16 08:08:01 |
Other Links: | branch diff | manifest | tags |
2002-09-18
| ||
19:46:49 |
Refined test to reduce shell loop overhead for unnecessary E matrix. Removed unnecessary attempt to optimise cse. Fixes sm representation. check-in: 2613a4e855 user: geraint@users.sourceforge.net tags: origin/master, trunk | |
2002-09-16
| ||
08:08:01 | Merged changes from global-optimisation branch. check-in: b2d7fd3c1f user: geraint@users.sourceforge.net tags: origin/master, trunk | |
2002-09-12
| ||
10:08:33 | Reverted to total time being the end of the horizon check-in: e91fca2ef2 user: gawthrop@users.sourceforge.net tags: origin/master, trunk | |
Modified mttroot/mtt/bin/mtt from [51a5ec4d55] to [16f6d6a3c8].
︙ | ︙ | |||
13 14 15 16 17 18 19 20 21 22 23 24 25 26 | # Copyright (C) 2001 by Peter J. Gawthrop ############################################################### ## Version control history ############################################################### ## $Header$ ## $Log$ ## Revision 1.359 2002/08/07 14:27:14 geraint ## Changes to make "-i dassl" work again. ## ## Revision 1.358 2002/08/07 11:04:40 geraint ## Now updates timestamp on lbl.txt after processing in make. This eliminates the delay where MTT spends a long period of time uselessly recursing through the model on subsequent passes if the label file is older than the bondgraph. ## ## Revision 1.357 2002/06/28 10:13:40 geraint | > > > > > > > > > > > > | 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 | # Copyright (C) 2001 by Peter J. Gawthrop ############################################################### ## Version control history ############################################################### ## $Header$ ## $Log$ ## Revision 1.360.2.3 2002/09/16 07:59:26 geraint ## Changed default optimisation to global. ## ## Revision 1.360.2.2 2002/09/04 10:44:59 geraint ## Added option to specify number of tmp variables declared (-ntmpvar <N>). ## ## Revision 1.360.2.1 2002/09/03 23:44:43 geraint ## adding global optimisation (-optg). ## ## Revision 1.360 2002/08/20 15:51:16 gawthrop ## Update to work with ident DIY rep ## ## Revision 1.359 2002/08/07 14:27:14 geraint ## Changes to make "-i dassl" work again. ## ## Revision 1.358 2002/08/07 11:04:40 geraint ## Now updates timestamp on lbl.txt after processing in make. This eliminates the delay where MTT spends a long period of time uselessly recursing through the model on subsequent passes if the label file is older than the bondgraph. ## ## Revision 1.357 2002/06/28 10:13:40 geraint |
︙ | ︙ | |||
1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 | # Default use m, not oct files m='m'; # Default use ps files ps=ps eps=eps psview=$PSVIEW #Initialise list of switches mtt_switches=''; #Initialise read dirs read_dirs='' | > > > | 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 | # Default use m, not oct files m='m'; # Default use ps files ps=ps eps=eps psview=$PSVIEW # Default declare 500 temporary variables num_tmp_var=500 #Initialise list of switches mtt_switches=''; #Initialise read dirs read_dirs='' |
︙ | ︙ | |||
1457 1458 1459 1460 1461 1462 1463 | subsystem="_"$2; shift;; -oct ) fixcc='-fixcc' mtt_switches="$mtt_switches $1"; using_oct=yes; ;; | > | | > > > > > > > | 1472 1473 1474 1475 1476 1477 1478 1479 1480 1481 1482 1483 1484 1485 1486 1487 1488 1489 1490 1491 1492 1493 1494 1495 | subsystem="_"$2; shift;; -oct ) fixcc='-fixcc' mtt_switches="$mtt_switches $1"; using_oct=yes; ;; -optl ) mtt_switches="$mtt_switches $1"; optimise='-optimise_local';; -opt | -optg ) mtt_switches="$mtt_switches $1"; optimise='-optimise_global';; -ntmpvar ) num_tmp_var=$2; mtt_switches="$mtt_switches $1 $2"; shift;; -partition ) mtt_switches="$mtt_switches $1"; partition='-partition'; ;; -pdf ) mtt_switches="$mtt_switches $1"; ps=pdf; eps=pdf; pdf='-pdf'; |
︙ | ︙ | |||
1551 1552 1553 1554 1555 1556 1557 | echo ' -d <dir> use directory <dir>' echo ' -dr <dir> use files contained in <dir>' echo ' -dc Maximise derivative (not integral) causality' echo ' -i <implicit|euler|rk4|dassl> Use implicit, euler, rk4 or dassl integration' echo ' -ae <reduce|hybrd|dassl|hooke> Solve algebraic equations with specified solver' echo ' -o ode is same as dae' echo ' -oct use oct files in place of m files where appropriate' | | > > > | 1574 1575 1576 1577 1578 1579 1580 1581 1582 1583 1584 1585 1586 1587 1588 1589 1590 1591 | echo ' -d <dir> use directory <dir>' echo ' -dr <dir> use files contained in <dir>' echo ' -dc Maximise derivative (not integral) causality' echo ' -i <implicit|euler|rk4|dassl> Use implicit, euler, rk4 or dassl integration' echo ' -ae <reduce|hybrd|dassl|hooke> Solve algebraic equations with specified solver' echo ' -o ode is same as dae' echo ' -oct use oct files in place of m files where appropriate' echo ' -opt optimise code generation (equivalent to -optg)' echo ' -optl optimise code generation (local : line-by-line)' echo ' -optg optimise code generation (global : full vector)' echo " -ntmpvar <N> declare N temporary variables (default=$num_tmp_var)" echo ' -p print environment variables' echo ' -partition partition hierachical system' echo ' -pdf generate pdf in place of ps' echo ' -r reset time stamp on representation' echo ' -s generate sensitivity BG (use mtt -s sSys rep lang)' echo ' -ss use steady-state info to initialise simulations' echo ' -stdin read input data from standard input for simulations' |
︙ | ︙ | |||
2401 2402 2403 2404 2405 2406 2407 | #SUMMARY sympar symbolic parameters (r) $1_sympar.r: $1_sympar.txt sympar_txt2r $1 $1_sympar.m: $1_sympar.txt sympar_txt2m $1 $1_sympar.h: $1_sympar.txt | | | 2427 2428 2429 2430 2431 2432 2433 2434 2435 2436 2437 2438 2439 2440 2441 | #SUMMARY sympar symbolic parameters (r) $1_sympar.r: $1_sympar.txt sympar_txt2r $1 $1_sympar.m: $1_sympar.txt sympar_txt2m $1 $1_sympar.h: $1_sympar.txt sympar_txt2h.sh $1 $num_tmp_var #SUMMARY sympar symbolic parameters (c) # txt to c sympar conversion $1_sympar.c: $1_sympar.txt sympar_txt2c $1 #SUMMARY sympar symbolic parameters (tex) |
︙ | ︙ |
Modified mttroot/mtt/bin/trans/cse2ode_r from [945a7d1a16] to [280cac859b].
︙ | ︙ | |||
10 11 12 13 14 15 16 17 18 19 20 21 22 23 | # Copyright (c) P.J.Gawthrop, 1991, 1994. ############################################################### ## Version control history ############################################################### ## $Id$ ## $Log$ ## Revision 1.2 2001/07/13 04:54:04 geraint ## Branch merge: numerical-algebraic-solution back to main. ## ## Revision 1.1.4.1 2001/05/04 04:07:24 geraint ## Numerical solution of algebraic equations. ## sys_ae.cc written for unsolved inputs. ## Solution of equations using hybrd from MINPACK (as used by Octave fsolve). | > > > > > > > > > > > | 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 | # Copyright (c) P.J.Gawthrop, 1991, 1994. ############################################################### ## Version control history ############################################################### ## $Id$ ## $Log$ ## Revision 1.3.4.2 2002/09/10 23:24:19 geraint ## Rationalised local and global optimisations. ## Fixes presentation of locally optimised code (ode view). ## Much more elegant :-) ## ## Revision 1.3.4.1 2002/09/03 23:44:43 geraint ## adding global optimisation (-optg). ## ## Revision 1.3 2001/07/27 23:29:10 geraint ## Optimises only when requested (-opt). ## ## Revision 1.2 2001/07/13 04:54:04 geraint ## Branch merge: numerical-algebraic-solution back to main. ## ## Revision 1.1.4.1 2001/05/04 04:07:24 geraint ## Numerical solution of algebraic equations. ## sys_ae.cc written for unsolved inputs. ## Solution of equations using hybrd from MINPACK (as used by Octave fsolve). |
︙ | ︙ | |||
32 33 34 35 36 37 38 | ## Initial revision ## ############################################################### optimise=''; optimise_msg='' while [ -n "`echo $1 | grep '^-'`" ]; do case $1 in | | | | > > > | | | 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 | ## Initial revision ## ############################################################### optimise=''; optimise_msg='' while [ -n "`echo $1 | grep '^-'`" ]; do case $1 in -optimise_global ) optimise='-optimise_global' optimise_msg=' with global optimisation' ;; -optimise_local ) optimise='-optimise_local' optimise_msg=' with local optimisation' ;; *) echo "$1 is an invalid argument - ignoring" ;; esac shift done # Create the reduce output code def2write_r $1 ode def2write_r $1 odeo #Inform user echo Creating $1_ode.r $optimise_msg echo Creating $1_odeo.r $optimise_msg # Remove the old log file rm -f cse2ode_r.log |
︙ | ︙ | |||
124 125 126 127 128 129 130 131 132 133 | OUT "$1_odeo.r"; write "%File: $1_odeo.r"; in ("$1_odeo_write.r"); write "END;"; SHUT "$1_odeo.r"; quit; EOF # Now invoke the standard error handling. mtt_error_r cse2ode_r.log | > > > > > > > > < < < < < < < < | 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 | OUT "$1_odeo.r"; write "%File: $1_odeo.r"; in ("$1_odeo_write.r"); write "END;"; SHUT "$1_odeo.r"; quit; EOF if [ ${optimise:-""} = "-optimise_global" ]; then mtt_optimise global $1 ode mtt_optimise global $1 odeo elif [ ${optimise:-""} = "-optimise_local" ]; then mtt_optimise local $1 ode mtt_optimise local $1 odeo fi # Now invoke the standard error handling. mtt_error_r cse2ode_r.log |
Modified mttroot/mtt/bin/trans/cse2smx_lang from [6253408dee] to [a64f19c513].
︙ | ︙ | |||
21 22 23 24 25 26 27 | ;; -parameters) parameters='-parameters'; ;; -matrix) matrix='yes'; ;; | | | 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | ;; -parameters) parameters='-parameters'; ;; -matrix) matrix='yes'; ;; -optimise_global | -optimise_local ) optimise='LOAD SCOPE; ON GENTRANOPT;'; iname='INAME mtt_o;'; ;; -fixcc ) fix_mtt_pow='FOR ALL x,y LET x^y = mtt_pow(x,y);' operator='OPERATOR mtt_pow;' blurb2='fixing c and cc code'; |
︙ | ︙ |
Modified mttroot/mtt/bin/trans/csm2sm_r from [d62d77923d] to [f4ea164861].
︙ | ︙ | |||
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | # Copyright (c) P.J.Gawthrop, 1991, 1994, 1996 ############################################################### ## Version control history ############################################################### ## $Id$ ## $Log$ ## Revision 1.1 2000/12/28 12:24:03 peterg ## Put under RCS ## ## Revision 1.2 1996/08/25 10:11:32 peter ## Added END in output file. ## Error handling. ## ## Revision 1.1 1996/08/19 15:06:16 peter ## Initial revision ## ############################################################### optimise=''; optimise_msg='' while [ -n "`echo $1 | grep '^-'`" ]; do case $1 in | > > > > > > > > > > > | | | > > > | | | 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 | # Copyright (c) P.J.Gawthrop, 1991, 1994, 1996 ############################################################### ## Version control history ############################################################### ## $Id$ ## $Log$ ## Revision 1.2.4.2 2002/09/10 23:24:19 geraint ## Rationalised local and global optimisations. ## Fixes presentation of locally optimised code (ode view). ## Much more elegant :-) ## ## Revision 1.2.4.1 2002/09/03 23:44:43 geraint ## adding global optimisation (-optg). ## ## Revision 1.2 2001/07/27 23:29:10 geraint ## Optimises only when requested (-opt). ## ## Revision 1.1 2000/12/28 12:24:03 peterg ## Put under RCS ## ## Revision 1.2 1996/08/25 10:11:32 peter ## Added END in output file. ## Error handling. ## ## Revision 1.1 1996/08/19 15:06:16 peter ## Initial revision ## ############################################################### optimise=''; optimise_msg='' while [ -n "`echo $1 | grep '^-'`" ]; do case $1 in -optimise_global ) optimise='-optimise_global' optimise_msg=' with global optimisation' ;; -optimise_local ) optimise='-optimise_local' optimise_msg=' with local optimisation' ;; * ) echo "$1 is an invalid argument - ignoring" ;; esac shift done # Create the reduce output code def2write_r $1 $2 # Inform user echo Creating $1_$2.r $optimise_msg case $2 in sm) rep=csm; |
︙ | ︙ | |||
133 134 135 136 137 138 139 140 141 142 | SHUT "$1_$2.r2"; quit; EOF cat $1_$2.r1 $1_$2.r2 > $1_$2.r # Now invoke the standard error handling. mtt_error_r csm2sm_r.log | > > > > > > | 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 | SHUT "$1_$2.r2"; quit; EOF cat $1_$2.r1 $1_$2.r2 > $1_$2.r if [ ${optimise:-""} = "-optimise_global" ]; then mtt_optimise global $1 $2 elif [ ${optimise:-""} = "-optimise_local" ]; then mtt_optimise local $1 $2 fi # Now invoke the standard error handling. mtt_error_r csm2sm_r.log |
Modified mttroot/mtt/bin/trans/dae2cse_r from [1e44bd3303] to [56853751aa].
︙ | ︙ | |||
11 12 13 14 15 16 17 18 19 20 21 22 23 24 | # Copyright (c) P.J.Gawthrop 1991, 1992, 1994. ############################################################### ## Version control history ############################################################### ## $Id$ ## $Log$ ## Revision 1.22 2002/06/28 15:35:47 geraint ## Commented out aej.r generation (not used yet). ## ## Revision 1.21 2002/06/28 10:13:40 geraint ## Includes fix_c.r in ese2rdae and def2write_r to eliminate occurrances of x**y. ## ## Revision 1.20.2.1 2002/06/05 11:14:50 geraint | > > > > > > > > > > > > > > | 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 | # Copyright (c) P.J.Gawthrop 1991, 1992, 1994. ############################################################### ## Version control history ############################################################### ## $Id$ ## $Log$ ## Revision 1.23.2.3 2002/09/12 18:50:50 geraint ## Uncommented cse optimisations - they seem to work ok. ## ## Revision 1.23.2.2 2002/09/10 23:24:19 geraint ## Rationalised local and global optimisations. ## Fixes presentation of locally optimised code (ode view). ## Much more elegant :-) ## ## Revision 1.23.2.1 2002/09/03 23:44:43 geraint ## adding global optimisation (-optg). ## ## Revision 1.23 2002/07/10 17:43:05 geraint ## Added feature [ 562453 ] Optimisation of algebraic equations. ## ## Revision 1.22 2002/06/28 15:35:47 geraint ## Commented out aej.r generation (not used yet). ## ## Revision 1.21 2002/06/28 10:13:40 geraint ## Includes fix_c.r in ese2rdae and def2write_r to eliminate occurrances of x**y. ## ## Revision 1.20.2.1 2002/06/05 11:14:50 geraint |
︙ | ︙ | |||
130 131 132 133 134 135 136 | solve=1 solve_msg=' with explicit solution of algebraic equations' ;; -fixcc ) fixcc='-fixcc' include=`echo 'in "'$MTT_LIB'/reduce/fix_c.r";'` fix_msg='fixing c and cc code'; ;; | | | | > > > | | | | | 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 | solve=1 solve_msg=' with explicit solution of algebraic equations' ;; -fixcc ) fixcc='-fixcc' include=`echo 'in "'$MTT_LIB'/reduce/fix_c.r";'` fix_msg='fixing c and cc code'; ;; -optimise_global ) optimise='-optimise_global' optimise_msg=' with global optimisation' ;; -optimise_local ) optimise='-optimise_local' optimise_msg=' with local optimisation' ;; *) echo "$1 is an invalid argument - ignoring" ;; esac shift done # Create the reduce output code def2write_r $fixcc $1 ae def2write_r $fixcc $1 cse def2write_r $fixcc $1 csex # Version without E matrix def2write_r $fixcc $1 cseo echo "Creating $1_ae.r $optimise_msg" echo "Creating $1_cse.r $solve_msg $optimise_msg $fix_msg" echo "Creating $1_csex.r $optimise_msg" echo "Creating $1_cseo.r $optimise_msg" # Remove the old log file |
︙ | ︙ | |||
468 469 470 471 472 473 474 475 476 477 478 479 480 481 | touch $1_ae.r1 $1_ae.r2 touch $1_cseo.r1 touch $1_cseo.r2 cat $1_ae.r1 $1_ae.r2 > $1_ae.r cat $1_cse.r1 $1_cse.r2 > $1_cse.r cat $1_csex.r1 $1_csex.r2 > $1_csex.r cat $1_cseo.r1 $1_cseo.r2 > $1_cseo.r if [ "$solve" = "1" ]; then echo "Setting MTTNyz=0 in $1_def.r and updating other $1_def files" gawk '{ if ($1=="MTTNyz") print "MTTNyz := 0;" else print $0 | > > > > > > > > > > > > | 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 | touch $1_ae.r1 $1_ae.r2 touch $1_cseo.r1 touch $1_cseo.r2 cat $1_ae.r1 $1_ae.r2 > $1_ae.r cat $1_cse.r1 $1_cse.r2 > $1_cse.r cat $1_csex.r1 $1_csex.r2 > $1_csex.r cat $1_cseo.r1 $1_cseo.r2 > $1_cseo.r if [ ${optimise:-""} = "-optimise_global" ]; then mtt_optimise global $1 ae mtt_optimise global $1 cse mtt_optimise global $1 cseo mtt_optimise global $1 csex elif [ ${optimise:-""} = "-optimise_local" ]; then mtt_optimise local $1 ae mtt_optimise local $1 cse mtt_optimise local $1 cseo mtt_optimise local $1 csex fi if [ "$solve" = "1" ]; then echo "Setting MTTNyz=0 in $1_def.r and updating other $1_def files" gawk '{ if ($1=="MTTNyz") print "MTTNyz := 0;" else print $0 |
︙ | ︙ |
Modified mttroot/mtt/bin/trans/dae2lde_r from [ec8a1424aa] to [b551dcb121].
︙ | ︙ | |||
9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | # Copyright (C) 2000 by Peter J. Gawthrop ############################################################### ## Version control history ############################################################### ## $Id$ ## $Log$ ## Revision 1.1 2000/12/28 12:25:13 peterg ## Initial revision ## ############################################################### optimise=''; optimise_msg='' while [ -n "`echo $1 | grep '^-'`" ]; do case $1 in | > > > > > > > > > > > > > > | > > | | > > > > > | | | 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 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 | # Copyright (C) 2000 by Peter J. Gawthrop ############################################################### ## Version control history ############################################################### ## $Id$ ## $Log$ ## Revision 1.2.4.3 2002/09/13 10:10:42 geraint ## Commented out optimisation. ## ## Revision 1.2.4.2 2002/09/10 23:24:19 geraint ## Rationalised local and global optimisations. ## Fixes presentation of locally optimised code (ode view). ## Much more elegant :-) ## ## Revision 1.2.4.1 2002/09/03 23:44:43 geraint ## adding global optimisation (-optg). ## ## Revision 1.2 2001/07/27 23:29:10 geraint ## Optimises only when requested (-opt). ## ## Revision 1.1 2000/12/28 12:25:13 peterg ## Initial revision ## ############################################################### optimise=''; optimise_msg='' while [ -n "`echo $1 | grep '^-'`" ]; do case $1 in -optimise_global ) # optimise='-optimise_global' # optimise_msg=' with global optimisation' ;; optimise='' optimise_msg='' ;; -optimise_local ) # optimise='-optimise_local' # optimise_msg=' with local optimisation' ;; optimise='' optimise_msg='' ;; *) echo "$1 is an invalid argument - ignoring" ;; esac shift done # Create the reduce output code def2write_r $1 lde def2write_r $1 ldeo #Inform user echo Creating $1_lde.r $optimise_msg echo Creating $1_ldeo.r $optimise_msg # Remove the old log file rm -f cse2lde_r.log |
︙ | ︙ | |||
114 115 116 117 118 119 120 121 122 123 | OUT "$1_ldeo.r"; write "%File: $1_ldeo.r"; in ("$1_ldeo_write.r"); write "END;"; SHUT "$1_ldeo.r"; quit; EOF # Now invoke the standard error handling. mtt_error_r cse2lde_r.log | > > > > > > > > > < < < < < < < < | 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 | OUT "$1_ldeo.r"; write "%File: $1_ldeo.r"; in ("$1_ldeo_write.r"); write "END;"; SHUT "$1_ldeo.r"; quit; EOF # TODO: edit mtt_optimise to accept lde and ldeo # if [ ${optimise:-""} = "-optimise_global" ]; then # mtt_optimise global $1 lde # mtt_optimise global $1 ldeo # elif [ ${optimise:-""} = "-optimise_local" ]; then # mtt_optimise local $1 lde # mtt_optimise local $1 ldeo # fi # Now invoke the standard error handling. mtt_error_r cse2lde_r.log |
Modified mttroot/mtt/bin/trans/def2write_r from [bdaa78ff6b] to [3fcc66207b].
︙ | ︙ | |||
9 10 11 12 13 14 15 16 17 18 19 20 21 22 | # Copyright (C) 2000 by Peter J. Gawthrop ############################################################### ## Version control history ############################################################### ## $Id$ ## $Log$ ## Revision 1.15 2002/08/29 15:45:20 geraint ## Tests for existence of matrix before entering shell loop. ## Tests for existence of expression before attempting to write or optimise. ## ## Revision 1.14 2002/08/09 14:34:45 geraint ## Fix to prevent numbers being formed with a decimal point in the exponent, Reduce cannot handle these. ## | > > > > > > > > > > > > > > | 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 | # Copyright (C) 2000 by Peter J. Gawthrop ############################################################### ## Version control history ############################################################### ## $Id$ ## $Log$ ## Revision 1.16.2.3 2002/09/10 23:24:19 geraint ## Rationalised local and global optimisations. ## Fixes presentation of locally optimised code (ode view). ## Much more elegant :-) ## ## Revision 1.16.2.2 2002/09/10 22:09:14 geraint ## Fixed presentation of globally optimised equations (ode view). ## ## Revision 1.16.2.1 2002/09/03 23:44:43 geraint ## adding global optimisation (-optg). ## ## Revision 1.16 2002/09/03 19:34:15 geraint ## Write EdX regardless - csex is needed to create ode when not optimised. ## ## Revision 1.15 2002/08/29 15:45:20 geraint ## Tests for existence of matrix before entering shell loop. ## Tests for existence of expression before attempting to write or optimise. ## ## Revision 1.14 2002/08/09 14:34:45 geraint ## Fix to prevent numbers being formed with a decimal point in the exponent, Reduce cannot handle these. ## |
︙ | ︙ | |||
72 73 74 75 76 77 78 | ## Initial revision ## ############################################################### optimise='' while [ -n "`echo $1 | grep '^-'`" ]; do case $1 in | < < < | | 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 112 | ## Initial revision ## ############################################################### optimise='' while [ -n "`echo $1 | grep '^-'`" ]; do case $1 in -fixcc ) include=`echo 'in "'$MTT_LIB'/reduce/fix_c.r";'` ;; *) echo "$1 is an invalid argument - ignoring" ;; esac shift done sys=$1 # System name rep=$2 # System representation # Inform User echo Creating $1_$2_write.r # Find system constants Nx=`mtt_getsize $sys x` # States Nxx=`mtt_getsize $sys xx` # States x States Nu=`mtt_getsize $sys u` # Inputs Ny=`mtt_getsize $sys y` # Outputs Nyz=`mtt_getsize $sys yz` # Zero outputs |
︙ | ︙ | |||
149 150 151 152 153 154 155 | ms="$Nx $Nu $Nx $Nu" ;; *) echo def2write_r: representation $rep not recognised exit esac | < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < | | < > < < < < < | | | < | > | 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 | ms="$Nx $Nu $Nx $Nu" ;; *) echo def2write_r: representation $rep not recognised exit esac # Remove log files rm -f def2write_r1.log def2write_r2.log # Write out the code echo "" > $1_$2_write.r echo 'off echo$' >> $1_$2_write.r echo 'load gentran$' >> $1_$2_write.r for matrix in $matrices; do matrix_exists=`grep -i MTT${matrix} ${sys}_dae.r | wc -l | gawk '{print $1}'` if [ "$matrix" = "EdX" -o $matrix_exists -gt 0 ]; then n=`first "$ns"`; ns=`rest "$ns"` m=`first "$ms"`; ms=`rest "$ms"` is=`n2m 1 $n`; js=`n2m 1 $m`; echo "write \"% Begin Matrix MTT${matrix}\"$" >> $1_$2_write.r if [ $n -ge 1 ]; then for i in $is; do for j in $js; do echo 'write' name=`echo MTT$matrix'('$i','$j')'` echo ' '$comma$name ':=' $name '$' done done fi >> $1_$2_write.r echo "write \"% End Matrix MTT${matrix}\"$" >> $1_$2_write.r fi done echo ';END;' >>$1_$2_write.r |
Added mttroot/mtt/bin/trans/mtt_fix_integers version [511eb60f9c].
> > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 | #! /bin/sh mttmatrix='\(mtt[A-Za-z][A-Za-z]*\)' integer='\([0-9][0-9]*\)' mtt_join_lines | gawk -v RS=${1:-"$"} -v ORS=${2:-"$\n"} ' { str = $0; str1 = gensub ( /([^A-Za-z_0-9\.\+])([0-9]+)([^\.0-9])/ , "\\1\\2.0\\3" , "g", str ); str2 = gensub ( /([^e]\+)([0-9]+)([^\.0-9])/ , "\\1\\2.0\\3" , "g", str1 ); str3 = gensub ( /([^A-Za-z_0-9\.\+])([0-9]+)e([0-9]+).0([^\.0-9])/ , "\\1\\2\\3\\4" , "g" , str2) printf "%s$\n", str3 ; }' | sed -e "s/$mttmatrix($integer\.0,/\1(\2,/g" |
Added mttroot/mtt/bin/trans/mtt_join_lines version [95d87c9e44].
> > > > > | 1 2 3 4 5 | #! /bin/sh gawk '{ printf ( "%s" , $0 ) }' |\ gawk -v RS="$" '{ printf "%s$\n", $0 }' |\ gawk -v RS=";" '{ printf "%s;\n", $0 }' |
Added mttroot/mtt/bin/trans/mtt_optimise version [543d412814].
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 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 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 112 113 114 115 116 117 118 119 120 121 122 123 124 | #! /bin/sh # script uses Reduce + Scope to optimise a vector # either global (an entire vector) or local (line-by-line) extent=$1 # global or local system=$2 representation=$3 # error codes E_REP_NOT_SUPPORTED=-19 E_FILE_NOT_EXIST=-20 case $representation in ae) matrix=yz ; nmatrix=`mtt_getsize $system yz` ;; cse | csex) matrix=edx ; nmatrix=`mtt_getsize $system x` ;; ode) matrix=dx ; nmatrix=`mtt_getsize $system x` ;; cseo | odeo) matrix=y ; nmatrix=`mtt_getsize $system y` ;; *) exit $E_REP_NOT_SUPPORTED;; esac # Global optimisation: Generate a command of the form # optimise mtt?(1,1) :=: mtt?(1,1), mtt?(2,1) :=: mtt?(2,1), ..., INAME mtt_tmp$ # # Local optimisation: Generate a command of the form # optimise mtt?(1,1) :=: mtt?(1,1) INAME mtt_tmp$ \ # optimise mtt?(2,1) :=: mtt?(2,1) INAME mtt_tmp$ ... case $extent in "global" ) delimiter=", " terminate="INAME mtt_tmp$" ;; "local" ) delimiter=" INAME mtt_tmp$ optimize" terminate="$" ;; * ) echo "*** unknown scope for optimisation" echo "*** should be global or local" exit -1 ;; esac if [ $nmatrix -gt 0 ]; then command="optimize" counter=1 while [ $counter -le $nmatrix ]; do command="$command mtt$matrix($counter,1) :=: mtt$matrix($counter,1)$delimiter" counter=`expr $counter + 1` done command="$command $terminate" else command="" fi logfile=${system}_${representation}_optimisation.log tmpfile=${system}_${representation}_optimisation.tmp outfile=${system}_${representation}.r if [ ! -f $outfile ]; then exit $E_FILE_NOT_EXIST fi find_code () { file_in=${1:-${IN}} portion=${2:-"body"} head=`cat ${file_in} | gawk '($2 == "Begin" && $3 == "Matrix") { print NR }'` foot=`cat ${file_in} | gawk '($2 == "End" && $3 == "Matrix") { print NR }'` case ${portion} in head) start=0 end=${head} ;; body) start=${head} end=${foot} ;; foot) start=${foot} end=end ;; *) echo "Error in find_code: portion unknown" return -1 ;; esac cat ${file_in} |\ gawk --assign start=${start} --assign end=${end} ' (start < NR && NR < end) { print $0 }' }; # Use Reduce to perform the optimisation ${SYMBOLIC:-reduce} <<EOF > $logfile 2>&1 off nat; in "${system}_def.r"; in "$outfile"; load scope; out "$tmpfile"; $command; shut "$tmpfile"; $end; EOF cp $outfile $outfile.unoptimised cp $tmpfile $outfile.tmp find_code $outfile head > $tmpfile.head cat $tmpfile | mtt_fix_integers > $tmpfile.body find_code $outfile foot > $tmpfile.foot cat $tmpfile.head $tmpfile.body $tmpfile.foot > $outfile echo ";end;" >> $outfile mtt_error_r $logfile |
Modified mttroot/mtt/bin/trans/mtt_r2m from [6308144dd1] to [4a307ded95].
︙ | ︙ | |||
14 15 16 17 18 19 20 21 22 23 24 25 26 27 | # Copyright (C) 2000 by Peter J. Gawthrop ############################################################### ## Version control history ############################################################### ## $Id$ ## $Log$ ## Revision 1.29 2001/09/07 00:25:56 geraint ## Partial fix for insidious bug which eliminates lines of code when parameter ## names of the form (in* or off*) start continuation lines. ## ## Revision 1.28 2001/07/13 04:54:04 geraint ## Branch merge: numerical-algebraic-solution back to main. ## | > > > > > > | 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | # Copyright (C) 2000 by Peter J. Gawthrop ############################################################### ## Version control history ############################################################### ## $Id$ ## $Log$ ## Revision 1.30.4.1 2002/09/03 23:44:43 geraint ## adding global optimisation (-optg). ## ## Revision 1.30 2002/03/26 11:59:54 geraint ## Added dummy -optimise switch to prevent falling over for -cc generation. ## ## Revision 1.29 2001/09/07 00:25:56 geraint ## Partial fix for insidious bug which eliminates lines of code when parameter ## names of the form (in* or off*) start continuation lines. ## ## Revision 1.28 2001/07/13 04:54:04 geraint ## Branch merge: numerical-algebraic-solution back to main. ## |
︙ | ︙ | |||
125 126 127 128 129 130 131 | -noglobals) noglobals='-noglobals'; ;; -parameters) parameters='-parameters'; par='mttpar' ;; | | | 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 | -noglobals) noglobals='-noglobals'; ;; -parameters) parameters='-parameters'; par='mttpar' ;; -optimise_local | -optimise_global ) ;; *) echo $1 is an unknown option exit;; esac shift done |
︙ | ︙ |
Modified mttroot/mtt/cc/sympar_txt2h.sh from [6026cfc2b7] to [4da6e2e9e7].
1 2 3 4 5 6 7 8 9 10 | #! /bin/sh # $Id$ # $Log$ # Revision 1.6 2002/05/19 13:01:22 geraint # Numerical solution of algebraic equations implemented for S-function target. # # Equation solving requires the Matlab Optimization Toolbox to be installed. # # Code has been changed from C++ to C to allow mex files to be built with LCC, # the compiler bundled with Matlab. | > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | #! /bin/sh # $Id$ # $Log$ # Revision 1.7.2.1 2002/09/04 10:44:59 geraint # Added option to specify number of tmp variables declared (-ntmpvar <N>). # # Revision 1.7 2002/07/10 11:53:32 geraint # Replaced shell loop with template expansion - perceptibly quicker generation of sympar.h. # # Revision 1.6 2002/05/19 13:01:22 geraint # Numerical solution of algebraic equations implemented for S-function target. # # Equation solving requires the Matlab Optimization Toolbox to be installed. # # Code has been changed from C++ to C to allow mex files to be built with LCC, # the compiler bundled with Matlab. |
︙ | ︙ | |||
579 580 581 582 583 584 585 586 587 | static double ${name}494 MTT_UNUSED; static double ${name}495 MTT_UNUSED; static double ${name}496 MTT_UNUSED; static double ${name}497 MTT_UNUSED; static double ${name}498 MTT_UNUSED; static double ${name}499 MTT_UNUSED; static double ${name}500 MTT_UNUSED; EOF | > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | | | 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 | static double ${name}494 MTT_UNUSED; static double ${name}495 MTT_UNUSED; static double ${name}496 MTT_UNUSED; static double ${name}497 MTT_UNUSED; static double ${name}498 MTT_UNUSED; static double ${name}499 MTT_UNUSED; static double ${name}500 MTT_UNUSED; static double ${name}501 MTT_UNUSED; static double ${name}502 MTT_UNUSED; static double ${name}503 MTT_UNUSED; static double ${name}504 MTT_UNUSED; static double ${name}505 MTT_UNUSED; static double ${name}506 MTT_UNUSED; static double ${name}507 MTT_UNUSED; static double ${name}508 MTT_UNUSED; static double ${name}509 MTT_UNUSED; static double ${name}510 MTT_UNUSED; static double ${name}511 MTT_UNUSED; static double ${name}512 MTT_UNUSED; static double ${name}513 MTT_UNUSED; static double ${name}514 MTT_UNUSED; static double ${name}515 MTT_UNUSED; static double ${name}516 MTT_UNUSED; static double ${name}517 MTT_UNUSED; static double ${name}518 MTT_UNUSED; static double ${name}519 MTT_UNUSED; static double ${name}520 MTT_UNUSED; static double ${name}521 MTT_UNUSED; static double ${name}522 MTT_UNUSED; static double ${name}523 MTT_UNUSED; static double ${name}524 MTT_UNUSED; static double ${name}525 MTT_UNUSED; static double ${name}526 MTT_UNUSED; static double ${name}527 MTT_UNUSED; static double ${name}528 MTT_UNUSED; static double ${name}529 MTT_UNUSED; static double ${name}530 MTT_UNUSED; static double ${name}531 MTT_UNUSED; static double ${name}532 MTT_UNUSED; static double ${name}533 MTT_UNUSED; static double ${name}534 MTT_UNUSED; static double ${name}535 MTT_UNUSED; static double ${name}536 MTT_UNUSED; static double ${name}537 MTT_UNUSED; static double ${name}538 MTT_UNUSED; static double ${name}539 MTT_UNUSED; static double ${name}540 MTT_UNUSED; static double ${name}541 MTT_UNUSED; static double ${name}542 MTT_UNUSED; static double ${name}543 MTT_UNUSED; static double ${name}544 MTT_UNUSED; static double ${name}545 MTT_UNUSED; static double ${name}546 MTT_UNUSED; static double ${name}547 MTT_UNUSED; static double ${name}548 MTT_UNUSED; static double ${name}549 MTT_UNUSED; static double ${name}550 MTT_UNUSED; static double ${name}551 MTT_UNUSED; static double ${name}552 MTT_UNUSED; static double ${name}553 MTT_UNUSED; static double ${name}554 MTT_UNUSED; static double ${name}555 MTT_UNUSED; static double ${name}556 MTT_UNUSED; static double ${name}557 MTT_UNUSED; static double ${name}558 MTT_UNUSED; static double ${name}559 MTT_UNUSED; static double ${name}560 MTT_UNUSED; static double ${name}561 MTT_UNUSED; static double ${name}562 MTT_UNUSED; static double ${name}563 MTT_UNUSED; static double ${name}564 MTT_UNUSED; static double ${name}565 MTT_UNUSED; static double ${name}566 MTT_UNUSED; static double ${name}567 MTT_UNUSED; static double ${name}568 MTT_UNUSED; static double ${name}569 MTT_UNUSED; static double ${name}570 MTT_UNUSED; static double ${name}571 MTT_UNUSED; static double ${name}572 MTT_UNUSED; static double ${name}573 MTT_UNUSED; static double ${name}574 MTT_UNUSED; static double ${name}575 MTT_UNUSED; static double ${name}576 MTT_UNUSED; static double ${name}577 MTT_UNUSED; static double ${name}578 MTT_UNUSED; static double ${name}579 MTT_UNUSED; static double ${name}580 MTT_UNUSED; static double ${name}581 MTT_UNUSED; static double ${name}582 MTT_UNUSED; static double ${name}583 MTT_UNUSED; static double ${name}584 MTT_UNUSED; static double ${name}585 MTT_UNUSED; static double ${name}586 MTT_UNUSED; static double ${name}587 MTT_UNUSED; static double ${name}588 MTT_UNUSED; static double ${name}589 MTT_UNUSED; static double ${name}590 MTT_UNUSED; static double ${name}591 MTT_UNUSED; static double ${name}592 MTT_UNUSED; static double ${name}593 MTT_UNUSED; static double ${name}594 MTT_UNUSED; static double ${name}595 MTT_UNUSED; static double ${name}596 MTT_UNUSED; static double ${name}597 MTT_UNUSED; static double ${name}598 MTT_UNUSED; static double ${name}599 MTT_UNUSED; static double ${name}600 MTT_UNUSED; static double ${name}601 MTT_UNUSED; static double ${name}602 MTT_UNUSED; static double ${name}603 MTT_UNUSED; static double ${name}604 MTT_UNUSED; static double ${name}605 MTT_UNUSED; static double ${name}606 MTT_UNUSED; static double ${name}607 MTT_UNUSED; static double ${name}608 MTT_UNUSED; static double ${name}609 MTT_UNUSED; static double ${name}610 MTT_UNUSED; static double ${name}611 MTT_UNUSED; static double ${name}612 MTT_UNUSED; static double ${name}613 MTT_UNUSED; static double ${name}614 MTT_UNUSED; static double ${name}615 MTT_UNUSED; static double ${name}616 MTT_UNUSED; static double ${name}617 MTT_UNUSED; static double ${name}618 MTT_UNUSED; static double ${name}619 MTT_UNUSED; static double ${name}620 MTT_UNUSED; static double ${name}621 MTT_UNUSED; static double ${name}622 MTT_UNUSED; static double ${name}623 MTT_UNUSED; static double ${name}624 MTT_UNUSED; static double ${name}625 MTT_UNUSED; static double ${name}626 MTT_UNUSED; static double ${name}627 MTT_UNUSED; static double ${name}628 MTT_UNUSED; static double ${name}629 MTT_UNUSED; static double ${name}630 MTT_UNUSED; static double ${name}631 MTT_UNUSED; static double ${name}632 MTT_UNUSED; static double ${name}633 MTT_UNUSED; static double ${name}634 MTT_UNUSED; static double ${name}635 MTT_UNUSED; static double ${name}636 MTT_UNUSED; static double ${name}637 MTT_UNUSED; static double ${name}638 MTT_UNUSED; static double ${name}639 MTT_UNUSED; static double ${name}640 MTT_UNUSED; static double ${name}641 MTT_UNUSED; static double ${name}642 MTT_UNUSED; static double ${name}643 MTT_UNUSED; static double ${name}644 MTT_UNUSED; static double ${name}645 MTT_UNUSED; static double ${name}646 MTT_UNUSED; static double ${name}647 MTT_UNUSED; static double ${name}648 MTT_UNUSED; static double ${name}649 MTT_UNUSED; static double ${name}650 MTT_UNUSED; static double ${name}651 MTT_UNUSED; static double ${name}652 MTT_UNUSED; static double ${name}653 MTT_UNUSED; static double ${name}654 MTT_UNUSED; static double ${name}655 MTT_UNUSED; static double ${name}656 MTT_UNUSED; static double ${name}657 MTT_UNUSED; static double ${name}658 MTT_UNUSED; static double ${name}659 MTT_UNUSED; static double ${name}660 MTT_UNUSED; static double ${name}661 MTT_UNUSED; static double ${name}662 MTT_UNUSED; static double ${name}663 MTT_UNUSED; static double ${name}664 MTT_UNUSED; static double ${name}665 MTT_UNUSED; static double ${name}666 MTT_UNUSED; static double ${name}667 MTT_UNUSED; static double ${name}668 MTT_UNUSED; static double ${name}669 MTT_UNUSED; static double ${name}670 MTT_UNUSED; static double ${name}671 MTT_UNUSED; static double ${name}672 MTT_UNUSED; static double ${name}673 MTT_UNUSED; static double ${name}674 MTT_UNUSED; static double ${name}675 MTT_UNUSED; static double ${name}676 MTT_UNUSED; static double ${name}677 MTT_UNUSED; static double ${name}678 MTT_UNUSED; static double ${name}679 MTT_UNUSED; static double ${name}680 MTT_UNUSED; static double ${name}681 MTT_UNUSED; static double ${name}682 MTT_UNUSED; static double ${name}683 MTT_UNUSED; static double ${name}684 MTT_UNUSED; static double ${name}685 MTT_UNUSED; static double ${name}686 MTT_UNUSED; static double ${name}687 MTT_UNUSED; static double ${name}688 MTT_UNUSED; static double ${name}689 MTT_UNUSED; static double ${name}690 MTT_UNUSED; static double ${name}691 MTT_UNUSED; static double ${name}692 MTT_UNUSED; static double ${name}693 MTT_UNUSED; static double ${name}694 MTT_UNUSED; static double ${name}695 MTT_UNUSED; static double ${name}696 MTT_UNUSED; static double ${name}697 MTT_UNUSED; static double ${name}698 MTT_UNUSED; static double ${name}699 MTT_UNUSED; static double ${name}700 MTT_UNUSED; static double ${name}701 MTT_UNUSED; static double ${name}702 MTT_UNUSED; static double ${name}703 MTT_UNUSED; static double ${name}704 MTT_UNUSED; static double ${name}705 MTT_UNUSED; static double ${name}706 MTT_UNUSED; static double ${name}707 MTT_UNUSED; static double ${name}708 MTT_UNUSED; static double ${name}709 MTT_UNUSED; static double ${name}710 MTT_UNUSED; static double ${name}711 MTT_UNUSED; static double ${name}712 MTT_UNUSED; static double ${name}713 MTT_UNUSED; static double ${name}714 MTT_UNUSED; static double ${name}715 MTT_UNUSED; static double ${name}716 MTT_UNUSED; static double ${name}717 MTT_UNUSED; static double ${name}718 MTT_UNUSED; static double ${name}719 MTT_UNUSED; static double ${name}720 MTT_UNUSED; static double ${name}721 MTT_UNUSED; static double ${name}722 MTT_UNUSED; static double ${name}723 MTT_UNUSED; static double ${name}724 MTT_UNUSED; static double ${name}725 MTT_UNUSED; static double ${name}726 MTT_UNUSED; static double ${name}727 MTT_UNUSED; static double ${name}728 MTT_UNUSED; static double ${name}729 MTT_UNUSED; static double ${name}730 MTT_UNUSED; static double ${name}731 MTT_UNUSED; static double ${name}732 MTT_UNUSED; static double ${name}733 MTT_UNUSED; static double ${name}734 MTT_UNUSED; static double ${name}735 MTT_UNUSED; static double ${name}736 MTT_UNUSED; static double ${name}737 MTT_UNUSED; static double ${name}738 MTT_UNUSED; static double ${name}739 MTT_UNUSED; static double ${name}740 MTT_UNUSED; static double ${name}741 MTT_UNUSED; static double ${name}742 MTT_UNUSED; static double ${name}743 MTT_UNUSED; static double ${name}744 MTT_UNUSED; static double ${name}745 MTT_UNUSED; static double ${name}746 MTT_UNUSED; static double ${name}747 MTT_UNUSED; static double ${name}748 MTT_UNUSED; static double ${name}749 MTT_UNUSED; static double ${name}750 MTT_UNUSED; static double ${name}751 MTT_UNUSED; static double ${name}752 MTT_UNUSED; static double ${name}753 MTT_UNUSED; static double ${name}754 MTT_UNUSED; static double ${name}755 MTT_UNUSED; static double ${name}756 MTT_UNUSED; static double ${name}757 MTT_UNUSED; static double ${name}758 MTT_UNUSED; static double ${name}759 MTT_UNUSED; static double ${name}760 MTT_UNUSED; static double ${name}761 MTT_UNUSED; static double ${name}762 MTT_UNUSED; static double ${name}763 MTT_UNUSED; static double ${name}764 MTT_UNUSED; static double ${name}765 MTT_UNUSED; static double ${name}766 MTT_UNUSED; static double ${name}767 MTT_UNUSED; static double ${name}768 MTT_UNUSED; static double ${name}769 MTT_UNUSED; static double ${name}770 MTT_UNUSED; static double ${name}771 MTT_UNUSED; static double ${name}772 MTT_UNUSED; static double ${name}773 MTT_UNUSED; static double ${name}774 MTT_UNUSED; static double ${name}775 MTT_UNUSED; static double ${name}776 MTT_UNUSED; static double ${name}777 MTT_UNUSED; static double ${name}778 MTT_UNUSED; static double ${name}779 MTT_UNUSED; static double ${name}780 MTT_UNUSED; static double ${name}781 MTT_UNUSED; static double ${name}782 MTT_UNUSED; static double ${name}783 MTT_UNUSED; static double ${name}784 MTT_UNUSED; static double ${name}785 MTT_UNUSED; static double ${name}786 MTT_UNUSED; static double ${name}787 MTT_UNUSED; static double ${name}788 MTT_UNUSED; static double ${name}789 MTT_UNUSED; static double ${name}790 MTT_UNUSED; static double ${name}791 MTT_UNUSED; static double ${name}792 MTT_UNUSED; static double ${name}793 MTT_UNUSED; static double ${name}794 MTT_UNUSED; static double ${name}795 MTT_UNUSED; static double ${name}796 MTT_UNUSED; static double ${name}797 MTT_UNUSED; static double ${name}798 MTT_UNUSED; static double ${name}799 MTT_UNUSED; static double ${name}800 MTT_UNUSED; static double ${name}801 MTT_UNUSED; static double ${name}802 MTT_UNUSED; static double ${name}803 MTT_UNUSED; static double ${name}804 MTT_UNUSED; static double ${name}805 MTT_UNUSED; static double ${name}806 MTT_UNUSED; static double ${name}807 MTT_UNUSED; static double ${name}808 MTT_UNUSED; static double ${name}809 MTT_UNUSED; static double ${name}810 MTT_UNUSED; static double ${name}811 MTT_UNUSED; static double ${name}812 MTT_UNUSED; static double ${name}813 MTT_UNUSED; static double ${name}814 MTT_UNUSED; static double ${name}815 MTT_UNUSED; static double ${name}816 MTT_UNUSED; static double ${name}817 MTT_UNUSED; static double ${name}818 MTT_UNUSED; static double ${name}819 MTT_UNUSED; static double ${name}820 MTT_UNUSED; static double ${name}821 MTT_UNUSED; static double ${name}822 MTT_UNUSED; static double ${name}823 MTT_UNUSED; static double ${name}824 MTT_UNUSED; static double ${name}825 MTT_UNUSED; static double ${name}826 MTT_UNUSED; static double ${name}827 MTT_UNUSED; static double ${name}828 MTT_UNUSED; static double ${name}829 MTT_UNUSED; static double ${name}830 MTT_UNUSED; static double ${name}831 MTT_UNUSED; static double ${name}832 MTT_UNUSED; static double ${name}833 MTT_UNUSED; static double ${name}834 MTT_UNUSED; static double ${name}835 MTT_UNUSED; static double ${name}836 MTT_UNUSED; static double ${name}837 MTT_UNUSED; static double ${name}838 MTT_UNUSED; static double ${name}839 MTT_UNUSED; static double ${name}840 MTT_UNUSED; static double ${name}841 MTT_UNUSED; static double ${name}842 MTT_UNUSED; static double ${name}843 MTT_UNUSED; static double ${name}844 MTT_UNUSED; static double ${name}845 MTT_UNUSED; static double ${name}846 MTT_UNUSED; static double ${name}847 MTT_UNUSED; static double ${name}848 MTT_UNUSED; static double ${name}849 MTT_UNUSED; static double ${name}850 MTT_UNUSED; static double ${name}851 MTT_UNUSED; static double ${name}852 MTT_UNUSED; static double ${name}853 MTT_UNUSED; static double ${name}854 MTT_UNUSED; static double ${name}855 MTT_UNUSED; static double ${name}856 MTT_UNUSED; static double ${name}857 MTT_UNUSED; static double ${name}858 MTT_UNUSED; static double ${name}859 MTT_UNUSED; static double ${name}860 MTT_UNUSED; static double ${name}861 MTT_UNUSED; static double ${name}862 MTT_UNUSED; static double ${name}863 MTT_UNUSED; static double ${name}864 MTT_UNUSED; static double ${name}865 MTT_UNUSED; static double ${name}866 MTT_UNUSED; static double ${name}867 MTT_UNUSED; static double ${name}868 MTT_UNUSED; static double ${name}869 MTT_UNUSED; static double ${name}870 MTT_UNUSED; static double ${name}871 MTT_UNUSED; static double ${name}872 MTT_UNUSED; static double ${name}873 MTT_UNUSED; static double ${name}874 MTT_UNUSED; static double ${name}875 MTT_UNUSED; static double ${name}876 MTT_UNUSED; static double ${name}877 MTT_UNUSED; static double ${name}878 MTT_UNUSED; static double ${name}879 MTT_UNUSED; static double ${name}880 MTT_UNUSED; static double ${name}881 MTT_UNUSED; static double ${name}882 MTT_UNUSED; static double ${name}883 MTT_UNUSED; static double ${name}884 MTT_UNUSED; static double ${name}885 MTT_UNUSED; static double ${name}886 MTT_UNUSED; static double ${name}887 MTT_UNUSED; static double ${name}888 MTT_UNUSED; static double ${name}889 MTT_UNUSED; static double ${name}890 MTT_UNUSED; static double ${name}891 MTT_UNUSED; static double ${name}892 MTT_UNUSED; static double ${name}893 MTT_UNUSED; static double ${name}894 MTT_UNUSED; static double ${name}895 MTT_UNUSED; static double ${name}896 MTT_UNUSED; static double ${name}897 MTT_UNUSED; static double ${name}898 MTT_UNUSED; static double ${name}899 MTT_UNUSED; static double ${name}900 MTT_UNUSED; static double ${name}901 MTT_UNUSED; static double ${name}902 MTT_UNUSED; static double ${name}903 MTT_UNUSED; static double ${name}904 MTT_UNUSED; static double ${name}905 MTT_UNUSED; static double ${name}906 MTT_UNUSED; static double ${name}907 MTT_UNUSED; static double ${name}908 MTT_UNUSED; static double ${name}909 MTT_UNUSED; static double ${name}910 MTT_UNUSED; static double ${name}911 MTT_UNUSED; static double ${name}912 MTT_UNUSED; static double ${name}913 MTT_UNUSED; static double ${name}914 MTT_UNUSED; static double ${name}915 MTT_UNUSED; static double ${name}916 MTT_UNUSED; static double ${name}917 MTT_UNUSED; static double ${name}918 MTT_UNUSED; static double ${name}919 MTT_UNUSED; static double ${name}920 MTT_UNUSED; static double ${name}921 MTT_UNUSED; static double ${name}922 MTT_UNUSED; static double ${name}923 MTT_UNUSED; static double ${name}924 MTT_UNUSED; static double ${name}925 MTT_UNUSED; static double ${name}926 MTT_UNUSED; static double ${name}927 MTT_UNUSED; static double ${name}928 MTT_UNUSED; static double ${name}929 MTT_UNUSED; static double ${name}930 MTT_UNUSED; static double ${name}931 MTT_UNUSED; static double ${name}932 MTT_UNUSED; static double ${name}933 MTT_UNUSED; static double ${name}934 MTT_UNUSED; static double ${name}935 MTT_UNUSED; static double ${name}936 MTT_UNUSED; static double ${name}937 MTT_UNUSED; static double ${name}938 MTT_UNUSED; static double ${name}939 MTT_UNUSED; static double ${name}940 MTT_UNUSED; static double ${name}941 MTT_UNUSED; static double ${name}942 MTT_UNUSED; static double ${name}943 MTT_UNUSED; static double ${name}944 MTT_UNUSED; static double ${name}945 MTT_UNUSED; static double ${name}946 MTT_UNUSED; static double ${name}947 MTT_UNUSED; static double ${name}948 MTT_UNUSED; static double ${name}949 MTT_UNUSED; static double ${name}950 MTT_UNUSED; static double ${name}951 MTT_UNUSED; static double ${name}952 MTT_UNUSED; static double ${name}953 MTT_UNUSED; static double ${name}954 MTT_UNUSED; static double ${name}955 MTT_UNUSED; static double ${name}956 MTT_UNUSED; static double ${name}957 MTT_UNUSED; static double ${name}958 MTT_UNUSED; static double ${name}959 MTT_UNUSED; static double ${name}960 MTT_UNUSED; static double ${name}961 MTT_UNUSED; static double ${name}962 MTT_UNUSED; static double ${name}963 MTT_UNUSED; static double ${name}964 MTT_UNUSED; static double ${name}965 MTT_UNUSED; static double ${name}966 MTT_UNUSED; static double ${name}967 MTT_UNUSED; static double ${name}968 MTT_UNUSED; static double ${name}969 MTT_UNUSED; static double ${name}970 MTT_UNUSED; static double ${name}971 MTT_UNUSED; static double ${name}972 MTT_UNUSED; static double ${name}973 MTT_UNUSED; static double ${name}974 MTT_UNUSED; static double ${name}975 MTT_UNUSED; static double ${name}976 MTT_UNUSED; static double ${name}977 MTT_UNUSED; static double ${name}978 MTT_UNUSED; static double ${name}979 MTT_UNUSED; static double ${name}980 MTT_UNUSED; static double ${name}981 MTT_UNUSED; static double ${name}982 MTT_UNUSED; static double ${name}983 MTT_UNUSED; static double ${name}984 MTT_UNUSED; static double ${name}985 MTT_UNUSED; static double ${name}986 MTT_UNUSED; static double ${name}987 MTT_UNUSED; static double ${name}988 MTT_UNUSED; static double ${name}989 MTT_UNUSED; static double ${name}990 MTT_UNUSED; static double ${name}991 MTT_UNUSED; static double ${name}992 MTT_UNUSED; static double ${name}993 MTT_UNUSED; static double ${name}994 MTT_UNUSED; static double ${name}995 MTT_UNUSED; static double ${name}996 MTT_UNUSED; static double ${name}997 MTT_UNUSED; static double ${name}998 MTT_UNUSED; static double ${name}999 MTT_UNUSED; static double ${name}1000 MTT_UNUSED; EOF if [ ${NUM_OF_TMP_VAR} -gt 1000 ]; then i=1001 while [ ${i} -le ${NUM_OF_TMP_VAR} ] do echo "static double ${name}${i} MTT_UNUSED;" i=`expr ${i} + 1` done fi done |
︙ | ︙ |