[cig-commits] r9314 - cs/benchmark/cigma/trunk/src
luis at geodynamics.org
luis at geodynamics.org
Wed Feb 13 11:15:52 PST 2008
Author: luis
Date: 2008-02-13 11:15:52 -0800 (Wed, 13 Feb 2008)
New Revision: 9314
Modified:
cs/benchmark/cigma/trunk/src/CompareCmd.cpp
cs/benchmark/cigma/trunk/src/QuadratureIO.cpp
cs/benchmark/cigma/trunk/src/QuadratureIO.h
Log:
Added extensive checks to QuadratureIO, since cmd line args can be anything
Modified: cs/benchmark/cigma/trunk/src/CompareCmd.cpp
===================================================================
--- cs/benchmark/cigma/trunk/src/CompareCmd.cpp 2008-02-13 19:15:51 UTC (rev 9313)
+++ cs/benchmark/cigma/trunk/src/CompareCmd.cpp 2008-02-13 19:15:52 UTC (rev 9314)
@@ -164,6 +164,7 @@
exit(1);
}
validate_args(&meshIO, "compare");
+ validate_args(&quadratureIO, "compare");
/* Load the datasets into memory */
Modified: cs/benchmark/cigma/trunk/src/QuadratureIO.cpp
===================================================================
--- cs/benchmark/cigma/trunk/src/QuadratureIO.cpp 2008-02-13 19:15:51 UTC (rev 9313)
+++ cs/benchmark/cigma/trunk/src/QuadratureIO.cpp 2008-02-13 19:15:52 UTC (rev 9314)
@@ -39,7 +39,58 @@
}
}
+void validate_args(QuadratureIO *quadratureIO, const char *cmd_name)
+{
+ assert(quadratureIO != 0);
+ //
+ // Check for incompatible/inconsistent options
+ //
+
+ if ((quadratureIO->points_path == "") && (quadratureIO->weights_path != ""))
+ {
+ cerr << cmd_name
+ << ": You also need to set the option --rule-points"
+ << endl;
+
+ exit(1);
+ }
+
+ if ((quadratureIO->weights_path == "") && (quadratureIO->points_path != ""))
+ {
+ cerr << cmd_name
+ << ": You also need to set the option --rule-weights"
+ << endl;
+
+ exit(1);
+ }
+
+ if ((quadratureIO->weights_path != "") && (quadratureIO->points_path != ""))
+ {
+ if (quadratureIO->quadrature_path != "")
+ {
+ cerr << cmd_name
+ << ": Using explicit points and weights (--rule not necessary)"
+ << endl;
+
+ exit(1);
+ }
+ }
+
+ if ((quadratureIO->quadrature_order != "")
+ && ((quadratureIO->quadrature_path != "")
+ || ((quadratureIO->points_path != "") && (quadratureIO->weights_path != ""))))
+ {
+ cerr << cmd_name
+ << ": Cannot use --rule-order with an explicit quadrature rule"
+ << endl;
+
+ exit(1);
+ }
+
+
+}
+
// ---------------------------------------------------------------------------
QuadratureIO::QuadratureIO()
@@ -186,20 +237,6 @@
qw = 0;
- if ((points_path == "") && (weights_path != ""))
- {
- cerr << "Missing option --rule-points" << endl;
- assert(false);
- return;
- }
-
- if ((weights_path == "") && (points_path != ""))
- {
- cerr << "Missing option --rule-weights" << endl;
- assert(false);
- return;
- }
-
if ((points_path != "") && (weights_path != ""))
{
Reader *points_reader;
Modified: cs/benchmark/cigma/trunk/src/QuadratureIO.h
===================================================================
--- cs/benchmark/cigma/trunk/src/QuadratureIO.h 2008-02-13 19:15:51 UTC (rev 9313)
+++ cs/benchmark/cigma/trunk/src/QuadratureIO.h 2008-02-13 19:15:52 UTC (rev 9314)
@@ -30,6 +30,7 @@
void load_args(AnyOption *opt, QuadratureIO *quadratureIO, const char *opt_prefix);
+void validate_args(QuadratureIO *quadratureIO, const char *cmd_name);
#endif
More information about the cig-commits
mailing list