Mentions légales du service

Skip to content
Snippets Groups Projects
Commit e1c43c5d authored by FELŠÖCI Marek's avatar FELŠÖCI Marek
Browse files

Allow for running multiple tests in a row

parent d0538338
No related branches found
No related tags found
No related merge requests found
......@@ -5,6 +5,8 @@
#include "hmat/hmat.h"
#include "util.h"
extern char * batch_file;
extern hmat_interface_t * interface;
extern double epsilon;
......@@ -58,6 +60,7 @@ int displayArray(char *s, void *f, int m, int n) ;
int testHMAT(double * relative_error);
double* createCylinder(void) ;
int printHelp() ;
int run_one();
void prepare_hmat(int, int, int, int, int*, int*, int*, int*, void*, hmat_block_info_t *);
void advanced_compute_hmat(struct hmat_block_compute_context_t*);
void update_progress(hmat_progress_t * ctx);
......
#include "main.h"
char * batch_file = NULL;
hmat_interface_t * interface = NULL;
double epsilon = 1e-3;
hmat_progress_t progress;
......@@ -13,14 +14,8 @@ void update_progress(hmat_progress_t * ctx) {
Mpf_progressBar(ctx->current, ctx->max);
}
/*! \brief Main routine
\return 0 for success
*/
int main(int argc, char **argv) {
int run_one() {
int ierr;
printf("[minisolver] minisolver version = %s\n", PACKAGE_VERSION);
printf("[minisolver] hmat version = %s\n", HMAT_VERSION);
printf("[minisolver] hmat initialization ... ");
interface = calloc(1, sizeof(hmat_interface_t)); CHKPTRQ(interface);
......@@ -30,27 +25,9 @@ int main(int argc, char **argv) {
interface->init();
progress.update = update_progress;
printf("done\n");
if (MpfArgGetInt(&argc, argv, 1, "--size", &nbPts)) {
printf("[minisolver] system size = %d\n", nbPts) ;
}
char * compression = NULL;
if (MpfArgGetString( &argc, argv, 1, "--compression" , &compression)) {
if(strncmp(compression, "medium", 6) == 0) {
epsilon = 1e-6;
} else if(strncmp(compression, "high", 4) == 0) {
epsilon = 1e-10;
} else if(strncmp(compression, "disabled", 6) == 0) {
epsilon = 1e-16;
}
} else {
compression = strncpy(compression, "low", 3); CHKPTRQ(compression);
}
printf("[minisolver] compression = %s\n", compression);
printf("[minisolver] epsilon = %.0e\n", epsilon);
printf("[minisolver] preparing test ... ");
resetCylinder();
ierr=initCylinder(); CHKERRQ(ierr);
/* Wavelength */
......@@ -80,7 +57,6 @@ int main(int argc, char **argv) {
MpfFree(rhs);
rhs = NULL;
}
free(compression);
printf("done\n");
printf("[minisolver] hmat finalization ... ");
......@@ -90,3 +66,47 @@ int main(int argc, char **argv) {
return 0;
}
/*! \brief Main routine
\return 0 for success
*/
int main(int argc, char **argv) {
int ierr;
printf("[minisolver] minisolver version = %s\n", PACKAGE_VERSION);
printf("[minisolver] hmat version = %s\n", HMAT_VERSION);
if(MpfArgGetString(&argc, argv, 1, "--batch", &batch_file)) {
printf("[minisolver] batch file = %s\n", batch_file);
printf("Test 1\n");
ierr = run_one(); CHKERRQ(ierr);
printf("Test 2\n");
ierr = run_one(); CHKERRQ(ierr);
return 0;
}
if (MpfArgGetInt(&argc, argv, 1, "--size", &nbPts)) {
printf("[minisolver] system size = %d\n", nbPts) ;
}
char * compression = NULL;
if (MpfArgGetString( &argc, argv, 1, "--compression" , &compression)) {
if(strncmp(compression, "medium", 6) == 0) {
epsilon = 1e-6;
} else if(strncmp(compression, "high", 4) == 0) {
epsilon = 1e-10;
} else if(strncmp(compression, "disabled", 6) == 0) {
epsilon = 1e-16;
}
} else {
compression = strncpy(compression, "low", 3); CHKPTRQ(compression);
}
printf("[minisolver] compression = %s\n", compression);
printf("[minisolver] epsilon = %.0e\n", epsilon);
free(compression);
ierr = run_one(); CHKERRQ(ierr);
return 0;
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment