|
Hi all,
- removed "make examples" functionality from Makefiles.
On Joe's advice I removed the ability to make all of the examples in the
xmds/examples directory. This actually made my life easier, so that was
all good :-)
- improved binary output functionality
Binary output no longer has the redundancy inherent in the ascii output
format. The arrays are written to file, first with an unsigned long
integer giving the number of points to come, and then the vector of
points, repeating to the end of file. loadxsil.m has been changed to
reflect these changes. The advantage of the change is that the output
data files can now be quite a bit smaller than the corresponding ascii
output. The simulation also now checks for littleendian or bigendian
binary behaviour, and writes which to the .xsil file. This means that
loadxsil.m can now read files from any platform, since it now checks
for the "endian-ness" of the data files from a flag in the .xsil file.
I've tested this on LinuxPPC and LinuxX86. This change also requires
endian.h to be on the system, and I've changed the configure script to
check for this also.
- command line arguments to simulation binaries
The output binary file can now take arguments on the command line. This
allows people to change global variables of the simulation at execution
time of the binary instead of having to rerun xmds and compile a new
binary for a minor change of parameters. To use this feature, put the
variables that you want to use inside tags in the
section. For instance moo baa defines two new variables to
accept at the command line of moo and baa. There are some limitations to
the current implementation though (I'm working on a better system now,
but I thought the current implementation might be handy for a while).
The limitations are that the variables listed have to be double's, and
they have to be entered at the command line in the order listed in the
tags. The program does, however, check that you've entered the
right number of arguments at the command line, and prints the usage if
you get that wrong. However, if you want to put in an int, or a char *
you might have problems atm. Like I said above, I'm working on using
Gnu getopt going, and have been making some progress with that.
- housekeeping stuff
I've removed the Configure script from the repository. This was the
original way of "configuring" xmds. I've also removed the Makefile in
the xmds/source directory from the repository. The Configure script
and the Makefile are now made obsolete by the use of Gnu autoconf.
I think that's it at the moment. Hope everyone is well, and that you're
finding the changes useful.
Later
Paul
|