DELETED CVSROOT/checkoutlist Index: CVSROOT/checkoutlist ================================================================== --- CVSROOT/checkoutlist +++ /dev/null @@ -1,13 +0,0 @@ -# The "checkoutlist" file is used to support additional version controlled -# administrative files in $CVSROOT/CVSROOT, such as template files. -# -# The first entry on a line is a filename which will be checked out from -# the corresponding RCS file in the $CVSROOT/CVSROOT directory. -# The remainder of the line is an error message to use if the file cannot -# be checked out. -# -# File format: -# -# [] -# -# comment lines begin with '#' DELETED CVSROOT/commitinfo Index: CVSROOT/commitinfo ================================================================== --- CVSROOT/commitinfo +++ /dev/null @@ -1,15 +0,0 @@ -# The "commitinfo" file is used to control pre-commit checks. -# The filter on the right is invoked with the repository and a list -# of files to check. A non-zero exit of the filter program will -# cause the commit to be aborted. -# -# The first entry on a line is a regular expression which is tested -# against the directory that the change is being committed to, relative -# to the $CVSROOT. For the first match that is found, then the remainder -# of the line is the name of the filter to run. -# -# If the repository name does not match any of the regular expressions in this -# file, the "DEFAULT" line is used, if it is specified. -# -# If the name "ALL" appears as a regular expression it is always used -# in addition to the first matching regex or "DEFAULT". DELETED CVSROOT/config Index: CVSROOT/config ================================================================== --- CVSROOT/config +++ /dev/null @@ -1,11 +0,0 @@ -# Set this to "no" if pserver shouldn't check system users/passwords -#SystemAuth=no - -# Set `PreservePermissions' to `yes' to save file status information -# in the repository. -#PreservePermissions=no - -# Set `TopLevelAdmin' to `yes' to create a CVS directory at the top -# level of the new working directory when using the `cvs checkout' -# command. -#TopLevelAdmin=no DELETED CVSROOT/cvswrappers Index: CVSROOT/cvswrappers ================================================================== --- CVSROOT/cvswrappers +++ /dev/null @@ -1,23 +0,0 @@ -# This file affects handling of files based on their names. -# -# The -t/-f options allow one to treat directories of files -# as a single file, or to transform a file in other ways on -# its way in and out of CVS. -# -# The -m option specifies whether CVS attempts to merge files. -# -# The -k option specifies keyword expansion (e.g. -kb for binary). -# -# Format of wrapper file ($CVSROOT/CVSROOT/cvswrappers or .cvswrappers) -# -# wildcard [option value][option value]... -# -# where option is one of -# -f from cvs filter value: path to filter -# -t to cvs filter value: path to filter -# -m update methodology value: MERGE or COPY -# -k expansion mode value: b, o, kkv, &c -# -# and value is a single-quote delimited value. -# For example: -#*.gif -k 'b' DELETED CVSROOT/editinfo Index: CVSROOT/editinfo ================================================================== --- CVSROOT/editinfo +++ /dev/null @@ -1,21 +0,0 @@ -# The "editinfo" file is used to allow verification of logging -# information. It works best when a template (as specified in the -# rcsinfo file) is provided for the logging procedure. Given a -# template with locations for, a bug-id number, a list of people who -# reviewed the code before it can be checked in, and an external -# process to catalog the differences that were code reviewed, the -# following test can be applied to the code: -# -# Making sure that the entered bug-id number is correct. -# Validating that the code that was reviewed is indeed the code being -# checked in (using the bug-id number or a seperate review -# number to identify this particular code set.). -# -# If any of the above test failed, then the commit would be aborted. -# -# Actions such as mailing a copy of the report to each reviewer are -# better handled by an entry in the loginfo file. -# -# One thing that should be noted is the the ALL keyword is not -# supported. There can be only one entry that matches a given -# repository. DELETED CVSROOT/loginfo Index: CVSROOT/loginfo ================================================================== --- CVSROOT/loginfo +++ /dev/null @@ -1,26 +0,0 @@ -# The "loginfo" file controls where "cvs commit" log information -# is sent. The first entry on a line is a regular expression which must match -# the directory that the change is being made to, relative to the -# $CVSROOT. If a match is found, then the remainder of the line is a filter -# program that should expect log information on its standard input. -# -# If the repository name does not match any of the regular expressions in this -# file, the "DEFAULT" line is used, if it is specified. -# -# If the name ALL appears as a regular expression it is always used -# in addition to the first matching regex or DEFAULT. -# -# You may specify a format string as part of the -# filter. The string is composed of a `%' followed -# by a single format character, or followed by a set of format -# characters surrounded by `{' and `}' as separators. The format -# characters are: -# -# s = file name -# V = old version number (pre-checkin) -# v = new version number (post-checkin) -# -# For example: -#DEFAULT (echo ""; id; echo %s; date; cat) >> $CVSROOT/CVSROOT/commitlog -# or -#DEFAULT (echo ""; id; echo %{sVv}; date; cat) >> $CVSROOT/CVSROOT/commitlog DELETED CVSROOT/modules Index: CVSROOT/modules ================================================================== --- CVSROOT/modules +++ /dev/null @@ -1,26 +0,0 @@ -# Three different line formats are valid: -# key -a aliases... -# key [options] directory -# key [options] directory files... -# -# Where "options" are composed of: -# -i prog Run "prog" on "cvs commit" from top-level of module. -# -o prog Run "prog" on "cvs checkout" of module. -# -e prog Run "prog" on "cvs export" of module. -# -t prog Run "prog" on "cvs rtag" of module. -# -u prog Run "prog" on "cvs update" of module. -# -d dir Place module in directory "dir" instead of module name. -# -l Top-level directory only -- do not recurse. -# -# NOTE: If you change any of the "Run" options above, you'll have to -# release and re-checkout any working directories of these modules. -# -# And "directory" is a path to a directory relative to $CVSROOT. -# -# The "-a" option specifies an alias. An alias is interpreted as if -# everything on the right of the "-a" had been typed on the command line. -# -# You can encode a module within a module by using the special '&' -# character to interpose another module into the current module. This -# can be useful for creating a module that consists of many directories -# spread out over the entire source repository. DELETED CVSROOT/notify Index: CVSROOT/notify ================================================================== --- CVSROOT/notify +++ /dev/null @@ -1,12 +0,0 @@ -# The "notify" file controls where notifications from watches set by -# "cvs watch add" or "cvs edit" are sent. The first entry on a line is -# a regular expression which is tested against the directory that the -# change is being made to, relative to the $CVSROOT. If it matches, -# then the remainder of the line is a filter program that should contain -# one occurrence of %s for the user to notify, and information on its -# standard input. -# -# "ALL" or "DEFAULT" can be used in place of the regular expression. -# -# For example: -#ALL mail %s -s "CVS notification" DELETED CVSROOT/rcsinfo Index: CVSROOT/rcsinfo ================================================================== --- CVSROOT/rcsinfo +++ /dev/null @@ -1,13 +0,0 @@ -# The "rcsinfo" file is used to control templates with which the editor -# is invoked on commit and import. -# -# The first entry on a line is a regular expression which is tested -# against the directory that the change is being made to, relative to the -# $CVSROOT. For the first match that is found, then the remainder of the -# line is the name of the file that contains the template. -# -# If the repository name does not match any of the regular expressions in this -# file, the "DEFAULT" line is used, if it is specified. -# -# If the name "ALL" appears as a regular expression it is always used -# in addition to the first matching regex or "DEFAULT". DELETED CVSROOT/taginfo Index: CVSROOT/taginfo ================================================================== --- CVSROOT/taginfo +++ /dev/null @@ -1,20 +0,0 @@ -# The "taginfo" file is used to control pre-tag checks. -# The filter on the right is invoked with the following arguments: -# -# $1 -- tagname -# $2 -- operation "add" for tag, "mov" for tag -F, and "del" for tag -d -# $3 -- repository -# $4-> file revision [file revision ...] -# -# A non-zero exit of the filter program will cause the tag to be aborted. -# -# The first entry on a line is a regular expression which is tested -# against the directory that the change is being committed to, relative -# to the $CVSROOT. For the first match that is found, then the remainder -# of the line is the name of the filter to run. -# -# If the repository name does not match any of the regular expressions in this -# file, the "DEFAULT" line is used, if it is specified. -# -# If the name "ALL" appears as a regular expression it is always used -# in addition to the first matching regex or "DEFAULT". DELETED CVSROOT/verifymsg Index: CVSROOT/verifymsg ================================================================== --- CVSROOT/verifymsg +++ /dev/null @@ -1,21 +0,0 @@ -# The "verifymsg" file is used to allow verification of logging -# information. It works best when a template (as specified in the -# rcsinfo file) is provided for the logging procedure. Given a -# template with locations for, a bug-id number, a list of people who -# reviewed the code before it can be checked in, and an external -# process to catalog the differences that were code reviewed, the -# following test can be applied to the code: -# -# Making sure that the entered bug-id number is correct. -# Validating that the code that was reviewed is indeed the code being -# checked in (using the bug-id number or a seperate review -# number to identify this particular code set.). -# -# If any of the above test failed, then the commit would be aborted. -# -# Actions such as mailing a copy of the report to each reviewer are -# better handled by an entry in the loginfo file. -# -# One thing that should be noted is the the ALL keyword is not -# supported. There can be only one entry that matches a given -# repository. Index: mttroot/mtt/bin/mtt ================================================================== --- mttroot/mtt/bin/mtt +++ mttroot/mtt/bin/mtt @@ -13,10 +13,13 @@ ############################################################### ## Version control history ############################################################### ## $Header$ ## $Log$ +## Revision 1.293 2001/02/06 04:39:08 geraint +## Added _standalone.exe representation. +## ## Revision 1.292 2001/02/05 17:27:40 gawthrop ## Make sure _def.r exists before creating _state.txt ## ## Revision 1.291 2000/12/27 14:50:40 peterg ## This is the first CVS version (4.9). @@ -1792,10 +1795,17 @@ if [ -n "$sensitivity" ]; then sys=`echo $1 | cut -c 2-` sys_abg=$sys"_abg" fi + +## Check octave version +if [ `octave --version | awk -F\. '{print $2}'` ]; then + define_octave_dev="-DOCTAVE_DEV" +else + define_octave_dev="" +fi ################################ # This is the main mtt programme ################################ @@ -1806,22 +1816,27 @@ # Cancel implicit rules I don't want %.dvi: %.tex # MTT implicit rules ## .oct files -ifneq ($2,ode2odes) -%.oct: %.cc $1_def.h $1_sympar.h $1_cr.h - echo Creating $1_$2.oct; $MKOCTFILE $< -endif - +$1_%.oct: $1_%.cc $1_def.h $1_sympar.h $1_cr.h + echo Creating $1_\$*.oct; $MKOCTFILE $1_\$*.cc ## .cc files .PRECIOUS: %.cc # Don't let mtt delete them -ifneq ($2,ode2odes) -%.cc: %.m - mtt_m2cc.sh $1 $2 cat -endif +$1_%.cc: $1_%.m + mtt_m2cc.sh $1 \$* cat + +## .o files +.PRECIOUS: $1_%.o +$1_%.o: $1_%.cc $1_def.h $1_sympar.h $1_cr.h + echo Compiling $1_\$*.cc + ${MTT_CXX} ${MTT_CXXFLAGS} ${MTT_CXXINCS} -c $< -DSTANDALONE + +mtt_%.o:: ${MTT_LIB}/cc/mtt_%.cc + echo Compiling mtt_\$*.cc + ${MTT_CXX} ${MTT_CXXFLAGS} ${MTT_CXXINCS} -c $< -DSTANDALONE $define_octave_dev # Generates code to write reduce code $1_ode_write.r: $1_def.m def2write_r $1 $2 @@ -2053,10 +2068,24 @@ mtt_update $1 logic endif # Dummy target FORCE: + +ode2odes_common.m : $1_input.m $1_logic.m $1_numpar.m $1_simpar.m $1_state.m ; @echo > /dev/null +ode2odes_common.cc : $1_input.cc $1_logic.cc $1_numpar.cc $1_simpar.cc $1_state.cc ; @echo > /dev/null +ode2odes_common.o : $1_input.o $1_logic.o $1_numpar.o $1_simpar.o $1_state.o ; @echo > /dev/null +ode2odes_common.oct : $1_input.oct $1_logic.oct $1_numpar.oct $1_simpar.oct $1_state.oct ; @echo > /dev/null +ode2odes_euler.m : $1_ode.m $1_odeo.m ; @echo > /dev/null +ode2odes_euler.cc : $1_ode.cc $1_odeo.cc ; @echo > /dev/null +ode2odes_euler.o : $1_ode.o $1_odeo.o ; @echo > /dev/null +ode2odes_euler.oct : $1_ode.oct $1_odeo.oct ; @echo > /dev/null +ode2odes_implicit.m : $1_cseo.m $1_csex.m $1_smxa.m $1_smxax.m ; @echo > /dev/null +ode2odes_implicit.cc : $1_cseo.cc $1_csex.cc $1_smxa.cc $1_smxax.cc ; @echo > /dev/null +ode2odes_implicit.o : $1_cseo.o $1_csex.o $1_smxa.o $1_smxax.o ; @echo > /dev/null +ode2odes_implicit.oct: $1_cseo.oct $1_csex.oct $1_smxa.oct $1_smxax.oct ; @echo > /dev/null + #SUMMARY numpar numerical parameter declaration (m) $1_numpar.m: $1_numpar.txt $1_sympars.txt mtt_txt2m $1 numpar @@ -2198,11 +2227,11 @@ struc_txt2tex $1 $1_struc.m: $1_struc.txt struc_txt2m $1 $1_def.m: $1_def.r def_r2m $1; matlab_tidy $1_def.m; -$1_def.h: $1_def.m +$1_def.h: $1_def.m $1_sympar.txt def_m2h.sh $1 #SUMMARY rdae raw differential-algebraic equations (r) #SUMMARY dae differential-algebraic equations (r) #SUMMARY dae* differential-algebraic equations (m) @@ -2346,49 +2375,54 @@ $1_ode2odes.m : $1_def.r $1_sympars.txt \ $1_smxa.m $1_smxax.m\ $1_simpar.m $1_numpar.m $1_state.m $1_input.m \ $1_csex.m $1_cseo.m $1_logic.m ifeq ($using_oct,yes) - mtt $mtt_switches -q -u $1 smxa oct - mtt $mtt_switches -q -u $1 smxax oct - mtt $mtt_switches -q -u $1 simpar oct - mtt $mtt_switches -q -u $1 numpar oct - mtt $mtt_switches -q -u $1 state oct - mtt $mtt_switches -q -u $1 input oct - mtt $mtt_switches -q -u $1 csex oct - mtt $mtt_switches -q -u $1 cseo oct - mtt $mtt_switches -q -u $1 logic oct - make_ode2odes $1 cc $integration_method - echo Creating $1_ode2odes.oct - mkoctfile $1_ode2odes.cc touch $1_ode2odes.m # Create a dummy which wont' be used + mtt $mtt_switches -q -u $1 ode2odes oct else make_ode2odes $1 m $integration_method endif endif ifeq ($integration_method,euler) $1_ode2odes.m : $1_def.r $1_sympars.txt\ $1_simpar.m $1_numpar.m $1_state.m $1_input.m \ $1_ode.m $1_odeo.m $1_logic.m ifeq ($using_oct,yes) - mtt $mtt_switches -q -u $1 simpar oct - mtt $mtt_switches -q -u $1 numpar oct - mtt $mtt_switches -q -u $1 state oct - mtt $mtt_switches -q -u $1 input oct - mtt $mtt_switches -q -u $1 ode oct - mtt $mtt_switches -q -u $1 odeo oct - mtt $mtt_switches -q -u $1 logic oct - make_ode2odes $1 cc $integration_method - echo Creating $1_ode2odes.oct - mkoctfile $1_ode2odes.cc touch $1_ode2odes.m # Create a dummy which wont' be used + mtt $mtt_switches -q -u $1 ode2odes oct else make_ode2odes $1 m $integration_method endif endif +$1_ode2odes.exe: $1_def.h $1_sympar.h\ + $1_ode2odes.o ode2odes_common.o ode2odes_${integration_method}.o\ + libmttcxx.a + echo Creating $1_ode2odes.exe + ${MTT_CXX} ${MTT_LDFLAGS} $1_*.o ${MTT_CXXLIBS} -o $1_ode2odes.exe + +libmttcxx.a: mtt_euler.o mtt_implicit.o + echo Creating libmttcxx.a + ar rc libmttcxx.a $^ + ranlib libmttcxx.a + +$1_ode2odes.o: $1_ode2odes.cc ode2odes_common.o ode2odes_${integration_method}.o + echo Creating $1_ode2odes.o + ${MTT_CXX} ${MTT_CXXFLAGS} ${MTT_CXXINCS} -c $1_ode2odes.cc -DSTANDALONE + +$1_ode2odes.oct: $1_ode2odes.cc ode2odes_common.oct ode2odes_${integration_method}.oct + touch $1_ode2odes.m + echo Creating $1_ode2odes.oct + $MKOCTFILE $1_ode2odes.cc + +$1_ode2odes.cc: $1_def.r $1_sympars.txt\ + ode2odes_common.m ode2odes_common.cc\ + ode2odes_${integration_method}.m ode2odes_${integration_method}.cc + touch $1_ode2odes.m + make_ode2odes $1 cc $integration_method #Conversion of m to p to c #SUMMARY ode ordinary differential equations (c) #SUMMARY ode ordinary differential equations (p) #SUMMARY state state declaration (c) Index: mttroot/mtt/bin/mttrc ================================================================== --- mttroot/mtt/bin/mttrc +++ mttroot/mtt/bin/mttrc @@ -13,10 +13,13 @@ ############################################################### ## Version control history ############################################################### ## $Id$ ## $Log$ +## Revision 1.17 2000/12/27 16:46:13 peterg +## Stripped the mtt- from paths +## ## Revision 1.16 2000/12/27 15:16:44 peterg ## If then else format ## ## Revision 1.15 2000/12/27 14:57:43 peterg ## Now takes the base path as an argument @@ -132,6 +135,29 @@ # Ascend stuff export ASCENDLIBRARY=$MTTPATH/ascend/lib # Oct file generation - use version with no optimisation. export MKOCTFILE=$MTT_LIB/octave/mkoctfile + + # ode2odes.exe stuff + # local system + PREFIX="/usr/local" + PLAT="i686-pc-linux-gnu" + GCCVERS="2.95.2" + SRCOCTAVE="/cvs/octave" + # include paths + IOCTAVE="-I${PREFIX}/include/octave" + # library paths + LOCTAVE="-L${PREFIX}/lib/octave -loctave -lcruft -loctinterp" + LKPATHSEA="-L${SRCOCTAVE}/kpathsea -lkpathsea" + LREADLINE=" -L${SRCOCTAVE}/readline -lreadline" + LSYSTEM="-ldl -lm -lncurses" + LF2C="-L${PREFIX}/lib/gcc-lib/${PLAT}/${GCCVERS} -lg2c" + LMTTCXX="-L. -lmttcxx" + # compiler options + export MTT_CXX="g++" + export MTT_CXXFLAGS="-g -O3" + export MTT_LD="ld" + export MTT_CXXLIBS="${LOCTAVE} ${LKPATHSEA} ${LREADLINE} ${LF2C} ${LSYSTEM} ${LMTTCXX}" + export MTT_CXXINCS="-I. ${IOCTAVE}" + fi Index: mttroot/mtt/bin/trans/m/args2arg.m ================================================================== --- mttroot/mtt/bin/trans/m/args2arg.m +++ mttroot/mtt/bin/trans/m/args2arg.m @@ -26,6 +26,28 @@ % Field separator if nargin<3 FS = ';'; end; + +arg = ''; +if strcmp(args, '')==0 + L = length(args); + args_count = 0; + for i=1:n + arg_count = 0; + arg = ''; + if args_count == L + break; + end; + while args_count < L + args_count = args_count+1; + arg_count = arg_count+1; + ch = str2ch(args,args_count); + if ch==FS + break; + end; + arg = [arg ch]; + end; + end; +end; DELETED mttroot/mtt/lib/rep/standalone_rep.make Index: mttroot/mtt/lib/rep/standalone_rep.make ================================================================== --- mttroot/mtt/lib/rep/standalone_rep.make +++ /dev/null @@ -1,59 +0,0 @@ -# -*-makefile-*- - -.POSIX: - -MTTFLAGS = -q -u -oct $(OPTS) - -# Adapt according to local set-up and mkoctfile -CXX = g++ -CXXFLAGS = $(DEBUG) $(OPTIM) $(DEFINES) $(ARCHFLAGS) -fno-rtti -fno-exceptions -fno-implicit-templates - -DEBUG = -g -OPTIM = -O3 - -PREFIX = /usr/local - -INCLUDES = -I$(PREFIX)/include/octave - -OCTAVE_SRC_PATH = /cvs/octave - -LIBOCTAVE = -L$(PREFIX)/lib/octave -loctave -lcruft -loctinterp -LIBKPATHSEA = -L$(OCTAVE_SRC_PATH)/kpathsea -lkpathsea -LIBREADLINE = -L$(OCTAVE_SRC_PATH)/readline -lreadline -#LIBBLAS = -L/usr/local/src/ATLAS/lib/Linux_PIII -lcblas -lf77blas -llapack -latlas -ltstatlas -#LIBBLAS = -lblas -llapack -LIBF2C = -lg2c -LIBRARIES = -ldl -lm -lncurses - -ARCHFLAGS = $(i386FLAGS) -i386FLAGS = -mieee-fp - -# Define -DOCTAVE_DEV for octave 2.1.x -ifeq (0, $(shell octave --version | awk -F\. '{print $2}')) -DEFINES = -DSTANDALONE -else -DEFINES = -DSTANDALONE -DOCTAVE_DEV -endif - -all: $(SYS)_standalone.$(LANG) - -$(SYS)_standalone.exe: $(SYS)_ode2odes.cc $(SYS)_def.h $(SYS)_sympar.h - cp $(MTT_LIB)/cc/*.cc . - echo Creating $(SYS)_standalone.exe - $(CXX) *.cc -o $@ $(CXXFLAGS) $(INCLUDES) $(LIBOCTAVE) $(LIBKPATHSEA) $(LIBREADLINE) $(LIBBLAS) $(LIBF2C) $(LIBRARIES) - -.PHONY: $(SYS)_standalone.clean - -$(SYS)_ode2odes.cc: - mtt $(MTTFLAGS) $(SYS) ode2odes m - -$(SYS)_def.h: - mtt $(MTTFLAGS) $(SYS) def h - -$(SYS)_sympar.h: - mtt $(MTTFLAGS) $(SYS) sympar h - - -$(SYS)_standalone.clean: - cd .. ; mtt Clean - rm -f ../$(SYS)_standalone.exe