From 2926c4ea6f9e34b8962a08dff372252537473bda Mon Sep 17 00:00:00 2001 From: Anton Khirnov Date: Sun, 28 Aug 2016 10:07:20 +0200 Subject: basis: disentangle the API from the global solver API --- init.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'init.c') diff --git a/init.c b/init.c index 5f9e3e6..fa15325 100644 --- a/init.c +++ b/init.c @@ -22,6 +22,7 @@ #include #include "brill_data.h" +#include "basis.h" #include "internal.h" #include "qfunc.h" @@ -35,8 +36,10 @@ static int brill_init_check_options(BDContext *bd) if (!s->qfunc) return ret; - s->basis[0] = &bdi_sb_even_basis; - s->basis[1] = &bdi_sb_even_basis; + s->basis[0] = bdi_basis_init(BASIS_FAMILY_SB_EVEN, bd->basis_scale_factor[0]); + s->basis[1] = bdi_basis_init(BASIS_FAMILY_SB_EVEN, bd->basis_scale_factor[0]); + if (!s->basis[0] || !s->basis[1]) + return -ENOMEM; s->nb_colloc_points[0] = bd->nb_coeffs[0]; s->nb_colloc_points[1] = bd->nb_coeffs[1]; @@ -108,6 +111,9 @@ void bd_context_free(BDContext **pbd) s = bd->priv; + bdi_basis_free(&s->basis[0]); + bdi_basis_free(&s->basis[1]); + bdi_qfunc_free(&s->qfunc); free(s->coeffs); -- cgit v1.2.3