diff options
author | Anton Khirnov <anton@khirnov.net> | 2016-08-28 10:07:20 +0200 |
---|---|---|
committer | Anton Khirnov <anton@khirnov.net> | 2016-08-28 11:14:30 +0200 |
commit | 2926c4ea6f9e34b8962a08dff372252537473bda (patch) | |
tree | b64afad877bf5dff429c704af4e484cf57ee2dae /init.c | |
parent | 63b25eca76d8481a0fdad339464d1eb617826583 (diff) |
basis: disentangle the API from the global solver API
Diffstat (limited to 'init.c')
-rw-r--r-- | init.c | 10 |
1 files changed, 8 insertions, 2 deletions
@@ -22,6 +22,7 @@ #include <stdio.h> #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); |