Commit e41a4ba0 authored by Thomas Witkowski's avatar Thomas Witkowski
Browse files

bugfix: solution vector was not passed to solver library.

parent 49888023
...@@ -30,10 +30,10 @@ ...@@ -30,10 +30,10 @@
# the same distribution terms that you use for the rest of that program. # the same distribution terms that you use for the rest of that program.
# A sed program that does not truncate output. # A sed program that does not truncate output.
SED="/usr/bin/sed" SED="/bin/sed"
# Sed that helps us avoid accidentally triggering echo(1) options like -n. # Sed that helps us avoid accidentally triggering echo(1) options like -n.
Xsed="/usr/bin/sed -e 1s/^X//" Xsed="/bin/sed -e 1s/^X//"
# The HP-UX ksh and POSIX shell print the target directory to stdout # The HP-UX ksh and POSIX shell print the target directory to stdout
# if CDPATH is set. # if CDPATH is set.
...@@ -44,7 +44,7 @@ available_tags=" CXX F77" ...@@ -44,7 +44,7 @@ available_tags=" CXX F77"
# ### BEGIN LIBTOOL CONFIG # ### BEGIN LIBTOOL CONFIG
# Libtool was configured on host p2q023: # Libtool was configured on host NWRW15:
# Shell to use when invoking shell scripts. # Shell to use when invoking shell scripts.
SHELL="/bin/sh" SHELL="/bin/sh"
...@@ -66,12 +66,12 @@ fast_install=yes ...@@ -66,12 +66,12 @@ fast_install=yes
# The host system. # The host system.
host_alias= host_alias=
host=x86_64-unknown-linux-gnu host=i686-pc-linux-gnu
host_os=linux-gnu host_os=linux-gnu
# The build system. # The build system.
build_alias= build_alias=
build=x86_64-unknown-linux-gnu build=i686-pc-linux-gnu
build_os=linux-gnu build_os=linux-gnu
# An echo program that does not interpret backslashes. # An echo program that does not interpret backslashes.
...@@ -82,25 +82,25 @@ AR="ar" ...@@ -82,25 +82,25 @@ AR="ar"
AR_FLAGS="cru" AR_FLAGS="cru"
# A C compiler. # A C compiler.
LTCC="mpicc" LTCC="gcc"
# LTCC compiler flags. # LTCC compiler flags.
LTCFLAGS="-g -O2" LTCFLAGS="-g -O2"
# A language-specific compiler. # A language-specific compiler.
CC="mpicc" CC="gcc"
# Is the compiler the GNU C compiler? # Is the compiler the GNU C compiler?
with_gcc=yes with_gcc=yes
gcc_dir=`gcc -print-file-name=. | /usr/bin/sed 's,/\.$,,'` gcc_dir=`gcc -print-file-name=. | /bin/sed 's,/\.$,,'`
gcc_ver=`gcc -dumpversion` gcc_ver=`gcc -dumpversion`
# An ERE matcher. # An ERE matcher.
EGREP="grep -E" EGREP="grep -E"
# The linker used to build libraries. # The linker used to build libraries.
LD="/usr/bin/ld -m elf_x86_64" LD="/usr/bin/ld"
# Whether we need hard or soft links. # Whether we need hard or soft links.
LN_S="ln -s" LN_S="ln -s"
...@@ -174,7 +174,7 @@ dlopen_self=unknown ...@@ -174,7 +174,7 @@ dlopen_self=unknown
dlopen_self_static=unknown dlopen_self_static=unknown
# Compiler flag to prevent dynamic linking. # Compiler flag to prevent dynamic linking.
link_static_flag="" link_static_flag="-static"
# Compiler flag to turn off builtin functions. # Compiler flag to turn off builtin functions.
no_builtin_flag=" -fno-builtin" no_builtin_flag=" -fno-builtin"
...@@ -328,10 +328,10 @@ variables_saved_for_relink="PATH LD_LIBRARY_PATH LD_RUN_PATH GCC_EXEC_PREFIX COM ...@@ -328,10 +328,10 @@ variables_saved_for_relink="PATH LD_LIBRARY_PATH LD_RUN_PATH GCC_EXEC_PREFIX COM
link_all_deplibs=unknown link_all_deplibs=unknown
# Compile-time system search path for libraries # Compile-time system search path for libraries
sys_lib_search_path_spec=`echo "/lib64 /usr/lib64 /usr/local/lib64" | $SED -e "s@${gcc_dir}@\${gcc_dir}@g;s@${gcc_ver}@\${gcc_ver}@g"` sys_lib_search_path_spec=`echo " /usr/lib/gcc/i386-redhat-linux/4.1.2/ /usr/lib/gcc/i386-redhat-linux/4.1.2/ /usr/lib/gcc/i386-redhat-linux/4.1.2/../../../../i386-redhat-linux/lib/i386-redhat-linux/4.1.2/ /usr/lib/gcc/i386-redhat-linux/4.1.2/../../../../i386-redhat-linux/lib/ /usr/lib/gcc/i386-redhat-linux/4.1.2/../../../i386-redhat-linux/4.1.2/ /usr/lib/gcc/i386-redhat-linux/4.1.2/../../../ /lib/i386-redhat-linux/4.1.2/ /lib/ /usr/lib/i386-redhat-linux/4.1.2/ /usr/lib/" | $SED -e "s@${gcc_dir}@\${gcc_dir}@g;s@${gcc_ver}@\${gcc_ver}@g"`
# Run-time system search path for libraries # Run-time system search path for libraries
sys_lib_dlsearch_path_spec="/lib64 /usr/lib64 /usr/X11R6/lib64/Xaw3d /usr/X11R6/lib64 /usr/X11R6/lib/Xaw3d /usr/X11R6/lib /usr/x86_64-suse-linux/lib /usr/local/lib64 /usr/local/lib /opt/kde3/lib64 /opt/kde3/lib /opt/gnome/lib64 /opt/gnome/lib /lib64 /lib /usr/lib64 /usr/lib /opt/cluster/intel/cce/9.1.042/lib /opt/cluster/intel/fce/9.1.036/lib /opt/cluster/Pathscale3.0/lib/2.9.99 /opt/cluster/Pathscale3.0/lib/2.9.99/32 /work/licsoft/compilers/pgi/linux86-64/6.2/lib /work/licsoft/compilers/pgi/linux86-64/6.2/libso " sys_lib_dlsearch_path_spec="/lib /usr/lib /usr/lib/octave-2.9.9 /usr/lib/qt-3.3/lib "
# Fix the shell variable $srcfile for the compiler. # Fix the shell variable $srcfile for the compiler.
fix_srcfile_path="" fix_srcfile_path=""
...@@ -6763,7 +6763,7 @@ build_old_libs=`case $build_libtool_libs in yes) $echo no;; *) $echo yes;; esac` ...@@ -6763,7 +6763,7 @@ build_old_libs=`case $build_libtool_libs in yes) $echo no;; *) $echo yes;; esac`
# End: # End:
# ### BEGIN LIBTOOL TAG CONFIG: CXX # ### BEGIN LIBTOOL TAG CONFIG: CXX
# Libtool was configured on host p2q023: # Libtool was configured on host NWRW15:
# Shell to use when invoking shell scripts. # Shell to use when invoking shell scripts.
SHELL="/bin/sh" SHELL="/bin/sh"
...@@ -6785,12 +6785,12 @@ fast_install=yes ...@@ -6785,12 +6785,12 @@ fast_install=yes
# The host system. # The host system.
host_alias= host_alias=
host=x86_64-unknown-linux-gnu host=i686-pc-linux-gnu
host_os=linux-gnu host_os=linux-gnu
# The build system. # The build system.
build_alias= build_alias=
build=x86_64-unknown-linux-gnu build=i686-pc-linux-gnu
build_os=linux-gnu build_os=linux-gnu
# An echo program that does not interpret backslashes. # An echo program that does not interpret backslashes.
...@@ -6801,25 +6801,25 @@ AR="ar" ...@@ -6801,25 +6801,25 @@ AR="ar"
AR_FLAGS="cru" AR_FLAGS="cru"
# A C compiler. # A C compiler.
LTCC="mpicc" LTCC="gcc"
# LTCC compiler flags. # LTCC compiler flags.
LTCFLAGS="-g -O2" LTCFLAGS="-g -O2"
# A language-specific compiler. # A language-specific compiler.
CC="mpiCC" CC="g++"
# Is the compiler the GNU C compiler? # Is the compiler the GNU C compiler?
with_gcc=yes with_gcc=yes
gcc_dir=`gcc -print-file-name=. | /usr/bin/sed 's,/\.$,,'` gcc_dir=`gcc -print-file-name=. | /bin/sed 's,/\.$,,'`
gcc_ver=`gcc -dumpversion` gcc_ver=`gcc -dumpversion`
# An ERE matcher. # An ERE matcher.
EGREP="grep -E" EGREP="grep -E"
# The linker used to build libraries. # The linker used to build libraries.
LD="/usr/bin/ld -m elf_x86_64" LD="/usr/bin/ld"
# Whether we need hard or soft links. # Whether we need hard or soft links.
LN_S="ln -s" LN_S="ln -s"
...@@ -6893,7 +6893,7 @@ dlopen_self=unknown ...@@ -6893,7 +6893,7 @@ dlopen_self=unknown
dlopen_self_static=unknown dlopen_self_static=unknown
# Compiler flag to prevent dynamic linking. # Compiler flag to prevent dynamic linking.
link_static_flag="" link_static_flag="-static"
# Compiler flag to turn off builtin functions. # Compiler flag to turn off builtin functions.
no_builtin_flag=" -fno-builtin" no_builtin_flag=" -fno-builtin"
...@@ -6948,11 +6948,11 @@ striplib="strip --strip-unneeded" ...@@ -6948,11 +6948,11 @@ striplib="strip --strip-unneeded"
# Dependencies to place before the objects being linked to create a # Dependencies to place before the objects being linked to create a
# shared library. # shared library.
predep_objects=`echo "/usr/lib/../lib64/crti.o /work/licsoft/compilers/gcc/4.2.4/lib/gcc/x86_64-unknown-linux-gnu/4.2.4/crtbeginS.o" | $SED -e "s@${gcc_dir}@\${gcc_dir}@g;s@${gcc_ver}@\${gcc_ver}@g"` predep_objects=`echo "/usr/lib/gcc/i386-redhat-linux/4.1.2/../../../crti.o /usr/lib/gcc/i386-redhat-linux/4.1.2/crtbeginS.o" | $SED -e "s@${gcc_dir}@\${gcc_dir}@g;s@${gcc_ver}@\${gcc_ver}@g"`
# Dependencies to place after the objects being linked to create a # Dependencies to place after the objects being linked to create a
# shared library. # shared library.
postdep_objects=`echo "/work/licsoft/compilers/gcc/4.2.4/lib/gcc/x86_64-unknown-linux-gnu/4.2.4/crtendS.o /usr/lib/../lib64/crtn.o" | $SED -e "s@${gcc_dir}@\${gcc_dir}@g;s@${gcc_ver}@\${gcc_ver}@g"` postdep_objects=`echo "/usr/lib/gcc/i386-redhat-linux/4.1.2/crtendS.o /usr/lib/gcc/i386-redhat-linux/4.1.2/../../../crtn.o" | $SED -e "s@${gcc_dir}@\${gcc_dir}@g;s@${gcc_ver}@\${gcc_ver}@g"`
# Dependencies to place before the objects being linked to create a # Dependencies to place before the objects being linked to create a
# shared library. # shared library.
...@@ -6960,11 +6960,11 @@ predeps="" ...@@ -6960,11 +6960,11 @@ predeps=""
# Dependencies to place after the objects being linked to create a # Dependencies to place after the objects being linked to create a
# shared library. # shared library.
postdeps="-lmpi_cxx -lmpi -lopen-rte -lopen-pal -libverbs -lrt -lnuma -ldl -lnsl -lutil -ldl -lstdc++ -lm -lgcc_s -lc -lgcc_s" postdeps="-lstdc++ -lm -lgcc_s -lc -lgcc_s"
# The library search path used internally by the compiler when linking # The library search path used internally by the compiler when linking
# a shared library. # a shared library.
compiler_lib_search_path=`echo "-L/usr/lib64 -L/licsoft/libraries/openmpi/1.2.6/64bit/lib -L/work/licsoft/compilers/gcc/4.2.4/lib/gcc/x86_64-unknown-linux-gnu/4.2.4 -L/work/licsoft/compilers/gcc/4.2.4/lib/gcc/x86_64-unknown-linux-gnu/4.2.4/../../../../lib64 -L/lib/../lib64 -L/usr/lib/../lib64 -L/work/licsoft/compilers/gcc/4.2.4/lib/gcc/x86_64-unknown-linux-gnu/4.2.4/../../.." | $SED -e "s@${gcc_dir}@\${gcc_dir}@g;s@${gcc_ver}@\${gcc_ver}@g"` compiler_lib_search_path=`echo "-L/usr/lib/gcc/i386-redhat-linux/4.1.2 -L/usr/lib/gcc/i386-redhat-linux/4.1.2 -L/usr/lib/gcc/i386-redhat-linux/4.1.2/../../.." | $SED -e "s@${gcc_dir}@\${gcc_dir}@g;s@${gcc_ver}@\${gcc_ver}@g"`
# Method to check whether dependent libraries are shared objects. # Method to check whether dependent libraries are shared objects.
deplibs_check_method="pass_all" deplibs_check_method="pass_all"
...@@ -7044,10 +7044,10 @@ variables_saved_for_relink="PATH LD_LIBRARY_PATH LD_RUN_PATH GCC_EXEC_PREFIX COM ...@@ -7044,10 +7044,10 @@ variables_saved_for_relink="PATH LD_LIBRARY_PATH LD_RUN_PATH GCC_EXEC_PREFIX COM
link_all_deplibs=unknown link_all_deplibs=unknown
# Compile-time system search path for libraries # Compile-time system search path for libraries
sys_lib_search_path_spec=`echo "/lib64 /usr/lib64 /usr/local/lib64" | $SED -e "s@${gcc_dir}@\${gcc_dir}@g;s@${gcc_ver}@\${gcc_ver}@g"` sys_lib_search_path_spec=`echo " /usr/lib/gcc/i386-redhat-linux/4.1.2/ /usr/lib/gcc/i386-redhat-linux/4.1.2/ /usr/lib/gcc/i386-redhat-linux/4.1.2/../../../../i386-redhat-linux/lib/i386-redhat-linux/4.1.2/ /usr/lib/gcc/i386-redhat-linux/4.1.2/../../../../i386-redhat-linux/lib/ /usr/lib/gcc/i386-redhat-linux/4.1.2/../../../i386-redhat-linux/4.1.2/ /usr/lib/gcc/i386-redhat-linux/4.1.2/../../../ /lib/i386-redhat-linux/4.1.2/ /lib/ /usr/lib/i386-redhat-linux/4.1.2/ /usr/lib/" | $SED -e "s@${gcc_dir}@\${gcc_dir}@g;s@${gcc_ver}@\${gcc_ver}@g"`
# Run-time system search path for libraries # Run-time system search path for libraries
sys_lib_dlsearch_path_spec="/lib64 /usr/lib64 /usr/X11R6/lib64/Xaw3d /usr/X11R6/lib64 /usr/X11R6/lib/Xaw3d /usr/X11R6/lib /usr/x86_64-suse-linux/lib /usr/local/lib64 /usr/local/lib /opt/kde3/lib64 /opt/kde3/lib /opt/gnome/lib64 /opt/gnome/lib /lib64 /lib /usr/lib64 /usr/lib /opt/cluster/intel/cce/9.1.042/lib /opt/cluster/intel/fce/9.1.036/lib /opt/cluster/Pathscale3.0/lib/2.9.99 /opt/cluster/Pathscale3.0/lib/2.9.99/32 /work/licsoft/compilers/pgi/linux86-64/6.2/lib /work/licsoft/compilers/pgi/linux86-64/6.2/libso " sys_lib_dlsearch_path_spec="/lib /usr/lib /usr/lib/octave-2.9.9 /usr/lib/qt-3.3/lib "
# Fix the shell variable $srcfile for the compiler. # Fix the shell variable $srcfile for the compiler.
fix_srcfile_path="" fix_srcfile_path=""
...@@ -7071,7 +7071,7 @@ include_expsyms="" ...@@ -7071,7 +7071,7 @@ include_expsyms=""
# ### BEGIN LIBTOOL TAG CONFIG: F77 # ### BEGIN LIBTOOL TAG CONFIG: F77
# Libtool was configured on host p2q023: # Libtool was configured on host NWRW15:
# Shell to use when invoking shell scripts. # Shell to use when invoking shell scripts.
SHELL="/bin/sh" SHELL="/bin/sh"
...@@ -7093,12 +7093,12 @@ fast_install=yes ...@@ -7093,12 +7093,12 @@ fast_install=yes
# The host system. # The host system.
host_alias= host_alias=
host=x86_64-unknown-linux-gnu host=i686-pc-linux-gnu
host_os=linux-gnu host_os=linux-gnu
# The build system. # The build system.
build_alias= build_alias=
build=x86_64-unknown-linux-gnu build=i686-pc-linux-gnu
build_os=linux-gnu build_os=linux-gnu
# An echo program that does not interpret backslashes. # An echo program that does not interpret backslashes.
...@@ -7109,7 +7109,7 @@ AR="ar" ...@@ -7109,7 +7109,7 @@ AR="ar"
AR_FLAGS="cru" AR_FLAGS="cru"
# A C compiler. # A C compiler.
LTCC="mpicc" LTCC="gcc"
# LTCC compiler flags. # LTCC compiler flags.
LTCFLAGS="-g -O2" LTCFLAGS="-g -O2"
...@@ -7118,16 +7118,16 @@ LTCFLAGS="-g -O2" ...@@ -7118,16 +7118,16 @@ LTCFLAGS="-g -O2"
CC="g77" CC="g77"
# Is the compiler the GNU C compiler? # Is the compiler the GNU C compiler?
with_gcc= with_gcc=yes
gcc_dir=`gcc -print-file-name=. | /usr/bin/sed 's,/\.$,,'` gcc_dir=`gcc -print-file-name=. | /bin/sed 's,/\.$,,'`
gcc_ver=`gcc -dumpversion` gcc_ver=`gcc -dumpversion`
# An ERE matcher. # An ERE matcher.
EGREP="grep -E" EGREP="grep -E"
# The linker used to build libraries. # The linker used to build libraries.
LD="/usr/bin/ld -m elf_x86_64" LD="/usr/bin/ld"
# Whether we need hard or soft links. # Whether we need hard or soft links.
LN_S="ln -s" LN_S="ln -s"
...@@ -7355,10 +7355,10 @@ variables_saved_for_relink="PATH LD_LIBRARY_PATH LD_RUN_PATH GCC_EXEC_PREFIX COM ...@@ -7355,10 +7355,10 @@ variables_saved_for_relink="PATH LD_LIBRARY_PATH LD_RUN_PATH GCC_EXEC_PREFIX COM
link_all_deplibs=unknown link_all_deplibs=unknown
# Compile-time system search path for libraries # Compile-time system search path for libraries
sys_lib_search_path_spec=`echo "/lib64 /usr/lib64 /usr/local/lib64" | $SED -e "s@${gcc_dir}@\${gcc_dir}@g;s@${gcc_ver}@\${gcc_ver}@g"` sys_lib_search_path_spec=`echo " /usr/lib/gcc/i386-redhat-linux/3.4.6/ /usr/lib/gcc/i386-redhat-linux/3.4.6/ /usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../i386-redhat-linux/lib/i386-redhat-linux/3.4.6/ /usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../i386-redhat-linux/lib/ /usr/lib/gcc/i386-redhat-linux/3.4.6/../../../i386-redhat-linux/3.4.6/ /usr/lib/gcc/i386-redhat-linux/3.4.6/../../../ /lib/i386-redhat-linux/3.4.6/ /lib/ /usr/lib/i386-redhat-linux/3.4.6/ /usr/lib/" | $SED -e "s@${gcc_dir}@\${gcc_dir}@g;s@${gcc_ver}@\${gcc_ver}@g"`
# Run-time system search path for libraries # Run-time system search path for libraries
sys_lib_dlsearch_path_spec="/lib64 /usr/lib64 /usr/X11R6/lib64/Xaw3d /usr/X11R6/lib64 /usr/X11R6/lib/Xaw3d /usr/X11R6/lib /usr/x86_64-suse-linux/lib /usr/local/lib64 /usr/local/lib /opt/kde3/lib64 /opt/kde3/lib /opt/gnome/lib64 /opt/gnome/lib /lib64 /lib /usr/lib64 /usr/lib /opt/cluster/intel/cce/9.1.042/lib /opt/cluster/intel/fce/9.1.036/lib /opt/cluster/Pathscale3.0/lib/2.9.99 /opt/cluster/Pathscale3.0/lib/2.9.99/32 /work/licsoft/compilers/pgi/linux86-64/6.2/lib /work/licsoft/compilers/pgi/linux86-64/6.2/libso " sys_lib_dlsearch_path_spec="/lib /usr/lib /usr/lib/octave-2.9.9 /usr/lib/qt-3.3/lib "
# Fix the shell variable $srcfile for the compiler. # Fix the shell variable $srcfile for the compiler.
fix_srcfile_path="" fix_srcfile_path=""
......
...@@ -183,7 +183,7 @@ namespace AMDiS { ...@@ -183,7 +183,7 @@ namespace AMDiS {
std::map<BoundaryType, VertexVector*>::iterator assoc; std::map<BoundaryType, VertexVector*>::iterator assoc;
std::map<BoundaryType, VertexVector*>::iterator assocEnd = std::map<BoundaryType, VertexVector*>::iterator assocEnd =
mesh->periodicAssociations.end(); mesh->periodicAssociations.end();
for (assoc = mesh->periodicAssociations.begin(); for (assoc = mesh->periodicAssociations.begin();
assoc != assocEnd; assoc != assocEnd;
...@@ -201,7 +201,7 @@ namespace AMDiS { ...@@ -201,7 +201,7 @@ namespace AMDiS {
std::map<BoundaryType, VertexVector*>::iterator assoc; std::map<BoundaryType, VertexVector*>::iterator assoc;
std::map<BoundaryType, VertexVector*>::iterator assocEnd = std::map<BoundaryType, VertexVector*>::iterator assocEnd =
mesh->periodicAssociations.end(); mesh->periodicAssociations.end();
for (assoc = mesh->periodicAssociations.begin(); for (assoc = mesh->periodicAssociations.begin();
assoc != assocEnd; assoc != assocEnd;
++assoc) { ++assoc) {
...@@ -234,11 +234,11 @@ namespace AMDiS { ...@@ -234,11 +234,11 @@ namespace AMDiS {
if (!macroInfo->neigh_set) { if (!macroInfo->neigh_set) {
TEST_EXIT(!periodicFile) TEST_EXIT(!periodicFile)
("periodic boundary condition => element neighbours must be set\n"); ("periodic boundary condition => element neighbours must be set\n");
computeNeighbours(mesh); computeNeighbours(mesh);
} else { } else {
/****************************************************************************/ /****************************************************************************/
/* fill MEL oppVertex values when reading neighbour information form file */ /* fill MEL oppVertex values when reading neighbour information form file */
/****************************************************************************/ /****************************************************************************/
for (int i = 0; i < mesh->getNumberOfMacros(); i++) { for (int i = 0; i < mesh->getNumberOfMacros(); i++) {
for (int k = 0; k < mesh->getGeo(NEIGH); k++) { for (int k = 0; k < mesh->getGeo(NEIGH); k++) {
...@@ -444,9 +444,9 @@ namespace AMDiS { ...@@ -444,9 +444,9 @@ namespace AMDiS {
{ {
for (int i = 0; i < N_KEYS; i++) for (int i = 0; i < N_KEYS; i++)
if (!strcmp(keys[i], key)) if (!strcmp(keys[i], key))
return(i); return i;
return(-1); return -1;
} }
#include <ctype.h> #include <ctype.h>
...@@ -457,7 +457,7 @@ namespace AMDiS { ...@@ -457,7 +457,7 @@ namespace AMDiS {
char *k = key; char *k = key;
while (isspace(*line)) while (isspace(*line))
line++; line++;
while ((*k++ = *line++) != ':'); while ((*k++ = *line++) != ':');
*--k = '\0'; *--k = '\0';
...@@ -480,8 +480,8 @@ namespace AMDiS { ...@@ -480,8 +480,8 @@ namespace AMDiS {
int dim; int dim;
int dow, nv, ne, j, k; int dow, nv, ne, j, k;
double dbl; double dbl;
char name[128], line[256]; char line[256];
int line_no, n_keys, i_key, sort_key[N_KEYS], nv_key, ne_key; int line_no, n_keys, sort_key[N_KEYS], nv_key, ne_key;
int key_def[N_KEYS] = {0,0,0,0,0,0,0,0,0,0,0,0}; int key_def[N_KEYS] = {0,0,0,0,0,0,0,0,0,0,0,0};
const char *key; const char *key;
DimVec<int> *ind = NULL; DimVec<int> *ind = NULL;
...@@ -492,7 +492,6 @@ namespace AMDiS { ...@@ -492,7 +492,6 @@ namespace AMDiS {
file = fopen(filename, "r"); file = fopen(filename, "r");
TEST_EXIT(file)("cannot open file %s\n", filename); TEST_EXIT(file)("cannot open file %s\n", filename);
strncpy(name, filename, 127);
/****************************************************************************/ /****************************************************************************/
/* looking for all keys in the macro file ... */ /* looking for all keys in the macro file ... */
...@@ -500,301 +499,331 @@ namespace AMDiS { ...@@ -500,301 +499,331 @@ namespace AMDiS {
line_no = n_keys = 0; line_no = n_keys = 0;
while (fgets(line, 255, file)) { while (fgets(line, 255, file)) {
line_no++; line_no++;
if (!strchr(line, ':')) continue; if (!strchr(line, ':')) continue;
key = read_key(line); key = read_key(line);
i_key = get_key_no(key); int i_key = get_key_no(key);
TEST_EXIT(i_key >= 0) TEST_EXIT(i_key >= 0)
("macro file %s must not contain key %s on line %d\n", ("macro file %s must not contain key %s on line %d\n",
name, key, line_no); filename, key, line_no);
TEST_EXIT(!key_def[i_key]) TEST_EXIT(!key_def[i_key])("key %s defined second time on line %d in file %s\n");
("key %s defined second time on line %d in file %s\n");
sort_key[n_keys++] = i_key;
sort_key[n_keys++] = i_key; key_def[i_key] = true;
key_def[i_key] = true;
} }
fclose(file); fclose(file);
for (i_key = 0; i_key < N_MIN_KEYS; i_key++) {
for (j = 0; j < n_keys; j++)
if (sort_key[j] == i_key) break; /*******************************************************************************/
TEST_EXIT(j < n_keys)("You do not have specified data for %s in %s\n", /* Test, if there is data for every key and if all is defined in right order. */
keys[i_key], name); /*******************************************************************************/
for (j = 0; j < n_keys; j++) for (int i_key = 0; i_key < N_MIN_KEYS; i_key++) {
if (sort_key[j] == 2) break; for (j = 0; j < n_keys; j++)
nv_key = j; if (sort_key[j] == i_key) break;
for (j = 0; j < n_keys; j++) TEST_EXIT(j < n_keys)("You do not have specified data for %s in %s\n",
if (sort_key[j] == 3) break; keys[i_key], filename);
ne_key = j;
for (j = 0; j < n_keys; j++)
if (sort_key[j] == 2) break;
nv_key = j;
for (j = 0; j < n_keys; j++)
if (sort_key[j] == 3) break;
ne_key = j;
switch(i_key) { switch (i_key) {
case 0: case 0:
case 1: case 1:
TEST_EXIT(sort_key[i_key] < 2) TEST_EXIT(sort_key[i_key] < 2)
("You have to specify DIM or mesh->getGeo(WORLD) before all other data\n"); ("You have to specify DIM or mesh->getGeo(WORLD) before all other data\n");
break; break;
case 4: case 4:
TEST_EXIT(nv_key < i_key) TEST_EXIT(nv_key < i_key)
("Before reading data for %s, you have to specify the %s in file\n", ("Before reading data for %s, you have to specify the %s in file\n",
keys[4], keys[2], name); keys[4], keys[2], filename);
break; break;
case 5: case 5:
TEST_EXIT(nv_key < i_key && ne_key < i_key) TEST_EXIT(nv_key < i_key && ne_key < i_key)
("Before reading data for %s, you have to specify the %s and %s in file %s\n", ("Before reading data for %s, you have to specify the %s and %s in file %s\n",
keys[5], keys[3], keys[2], name); keys[5], keys[3], keys[2], filename);
case 6: case 6:
case 7: case 7:
case 8: case 8:
TEST_EXIT(ne_key < i_key) TEST_EXIT(ne_key < i_key)
("Before reading data for %s, you have to specify the %s in file %s\n", ("Before reading data for %s, you have to specify the %s in file %s\n",
keys[i_key], keys[3], name); keys[i_key], keys[3], filename);
} }
} }
for (i_key = 0; i_key < N_KEYS; i_key++) for (int i_key = 0; i_key < N_KEYS; i_key++)
key_def[i_key] = false; key_def[i_key] = false;
/****************************************************************************/ /****************************************************************************/
/* and now, reading data ... */ /* and now, reading data ... */
/****************************************************************************/ /****************************************************************************/
file = fopen(name, "r"); file = fopen(filename, "r");
TEST_EXIT(file)("cannot open file %s\n",name); TEST_EXIT(file)("cannot open file %s\n", filename);
int result; int result;
for (i_key = 0; i_key < n_keys; i_key++) { for (int i_key = 0; i_key < n_keys; i_key++) {
switch(sort_key[i_key]) { switch (sort_key[i_key]) {
case 0:
result = fscanf(file, "%*s %d", &dim); case 0:
TEST_EXIT(result == 1) // line "DIM"
("cannot read DIM correctly in file %s\n", name); result = fscanf(file, "%*s %d", &dim);
TEST_EXIT(result == 1)("cannot read DIM correctly in file %s\n", filename);
ind = new DimVec<int>(dim, NO_INIT);