aboutsummaryrefslogtreecommitdiff
path: root/ell_grid_solve.h
diff options
context:
space:
mode:
authorAnton Khirnov <anton@khirnov.net>2019-01-30 12:51:18 +0100
committerAnton Khirnov <anton@khirnov.net>2019-02-02 11:52:00 +0100
commit7dcabe1f8d406b62df4141883e503cabb39b8d45 (patch)
tree0946902915d319caa69ba2e771bcb760a29495cc /ell_grid_solve.h
parentb584bfe20168ac6208154b1eef395b3805b35e77 (diff)
mg2d: print stats properly for exact solves
Diffstat (limited to 'ell_grid_solve.h')
-rw-r--r--ell_grid_solve.h10
1 files changed, 9 insertions, 1 deletions
diff --git a/ell_grid_solve.h b/ell_grid_solve.h
index 4ee6cb4..5455c13 100644
--- a/ell_grid_solve.h
+++ b/ell_grid_solve.h
@@ -55,7 +55,7 @@ enum EGSType {
/**
* Solve the equation exactly by contructing a linear system and solving it with LAPACK.
*
- * solver_data is NULL
+ * solver_data is EGSExactContext
* mg2di_egs_solve() solves the discretized system exactly (up to roundoff error)
*/
EGS_SOLVER_EXACT,
@@ -87,6 +87,13 @@ typedef struct EGSRelaxContext {
int64_t time_correct;
} EGSRelaxContext;
+typedef struct EGSExactContext {
+ int64_t count_mat_construct;
+ int64_t time_mat_construct;
+ int64_t count_lin_solve;
+ int64_t time_lin_solve;
+} EGSExactContext;
+
typedef struct EGSContext {
enum EGSType solver_type;
@@ -202,6 +209,7 @@ typedef struct EGSContext {
int64_t count_boundaries;
int64_t time_res_calc;
int64_t count_res;
+ int64_t time_total;
} EGSContext;
/**