diff options
Diffstat (limited to 'init.c')
-rw-r--r-- | init.c | 20 |
1 files changed, 14 insertions, 6 deletions
@@ -133,6 +133,12 @@ static const enum BasisFamily basis_sets[NB_EQUATIONS][2] = { { BASIS_FAMILY_SB_EVEN, BASIS_FAMILY_COS_EVEN }, }; +static void log_callback(TDLogger *log, int level, const char *fmt, va_list vl) +{ + TDContext *td = log->opaque; + td->log_callback(td, level, fmt, vl); +} + static int teukolsky_init_check_options(TDContext *td) { TDPriv *s = td->priv; @@ -152,7 +158,8 @@ static int teukolsky_init_check_options(TDContext *td) init_opencl(s); - s->logger.log = tdi_log_default_callback; + s->logger.log = log_callback; + s->logger.opaque = td; //s->scalarproduct_metric = tdi_scalarproduct_metric_c; //if (EXTERNAL_SSE3(s->cpu_flags)) @@ -285,10 +292,6 @@ static int teukolsky_constraint_eval(void *opaque, unsigned int eq_idx, return tdi_constraint_eval(ce, eq_idx, vars, dst); } -#define AMPLITUDE_DIRECT_SOLVE 1e-3 -#define AMPLITUDE_CONVERGE 0.00920788374206543 -#define AMPLITUDE_DIVERGE 0.00920788374267578 - int td_solve(TDContext *td, double *coeffs_init[3]) { TDPriv *s = td->priv; @@ -429,6 +432,11 @@ finish: return 0; } +static void log_default_callback(const TDContext *td, int level, const char *fmt, va_list vl) +{ + vfprintf(stderr, fmt, vl); +} + TDContext *td_context_alloc(void) { TDContext *td = calloc(1, sizeof(*td)); @@ -449,7 +457,7 @@ TDContext *td_context_alloc(void) td->max_iter = 16; td->atol = 1e-12; - td->log_callback = tdi_log_default_callback; + td->log_callback = log_default_callback; td->priv = calloc(1, sizeof(TDPriv)); if (!td->priv) { |