File mttroot/mtt/bin/trans/sympar2numpar_r2m artifact 0368596f7d part of check-in e7609f6ad9


#! /bin/sh

     ###################################### 
     ##### Model Transformation Tools #####
     ######################################

# Bourne shell script: sympar2numpar_r2m
# Creates the deafault numerical parameters file for the system

# Copyright (c) P.J.Gawthrop 1996

###############################################################
## Version control history
###############################################################
## $Id$
## $Log$
## Revision 1.9  1996/09/12 19:26:05  peter
## Input _params file.
##
## Revision 1.8  1996/08/30 19:37:43  peter
## Moved headers in shell script.
##
## Revision 1.7  1996/08/24 14:11:56  peter
## Global parameter passing.
##
## Revision 1.6  1996/08/20 08:21:24  peter
## *** empty log message ***
##
## Revision 1.5  1996/08/16 14:27:25  peter
## Make a dummy function when no parameters (MTTNVar=0).
##
## Revision 1.4  1996/08/15 12:46:59  peter
## Removed a spuriuos echo.
##
## Revision 1.3  1996/08/12 20:20:59  peter
## Explicit parameters via out put list.
## Parameter conversion stuff deleted.
##
## Revision 1.2  1996/08/11 10:41:52  peter
## Fixed various bugs.
##
## Revision 1.1  1996/08/11 08:48:07  peter
## Initial revision
##
###############################################################

# Inform user
echo Creating $1_numpar.m

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

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

%Set up the number of argument variables to zero in case the user has forgotten
MTTNVar := 0;

%Read the symbolic parameters file
IN "$1_sympar.r";

OUT "$1_numpar1.m";

IF MTTNvar>0 THEN
BEGIN
  write "global ...;;";
  FOR i := 1:MTTNvar DO
    IF numberp(MTTVar(i,1)) 
      THEN 
      BEGIN
      % Do nowt
      END
      ELSE  
      BEGIN
       IF i<MTTNvar THEN write MTTVar(i,1), " ..."
                    ELSE write MTTVar(i,1), ";";
      END;
END; 


IF MTTNvar>0 THEN
BEGIN
  FOR i := 1:MTTNvar DO
    IF numberp(MTTVar(i,1)) 
    THEN 
    BEGIN
     write "% Variable ", i, " has already been set to ",   MTTVar(i,1);
    END
    ELSE
    BEGIN
      write MTTVar(i,1), "  = 1;	% Default value";
    END;
END;

if MTTNVar=0 THEN
  write "foo=0";

SHUT "$1_numpar1.m";

EOF

matlab_tidy $1_numpar1.m

#Create the numpar file complete with headers.
echo "%% Numerical parameter file ($1_numpar.m)" > $1_numpar.m
echo "%% Generated by MTT at `date`" >> $1_numpar.m
cat $MTTPATH/trans/m/rcs_header.txt  >> $1_numpar.m
cat $1_numpar1.m >> $1_numpar.m

echo '%% Input the user-defined parameters'  >> $1_numpar.m
echo "$1_params;"   >> $1_numpar.m


rm $1_numpar1.m


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





















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