aboutsummaryrefslogtreecommitdiff
path: root/basis.h
diff options
context:
space:
mode:
authorAnton Khirnov <anton@khirnov.net>2016-08-28 10:07:20 +0200
committerAnton Khirnov <anton@khirnov.net>2016-08-28 11:14:30 +0200
commit2926c4ea6f9e34b8962a08dff372252537473bda (patch)
treeb64afad877bf5dff429c704af4e484cf57ee2dae /basis.h
parent63b25eca76d8481a0fdad339464d1eb617826583 (diff)
basis: disentangle the API from the global solver API
Diffstat (limited to 'basis.h')
-rw-r--r--basis.h40
1 files changed, 40 insertions, 0 deletions
diff --git a/basis.h b/basis.h
new file mode 100644
index 0000000..6b6f3c4
--- /dev/null
+++ b/basis.h
@@ -0,0 +1,40 @@
+/*
+ * Copyright 2015 Anton Khirnov <anton@khirnov.net>
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#ifndef BRILL_DATA_BASIS_H
+#define BRILL_DATA_BASIS_H
+
+enum BSEvalType {
+ BS_EVAL_TYPE_VALUE,
+ BS_EVAL_TYPE_DIFF1,
+ BS_EVAL_TYPE_DIFF2,
+};
+
+enum BasisFamily {
+ BASIS_FAMILY_SB_EVEN,
+};
+
+typedef struct BasisSetContext BasisSetContext;
+
+BasisSetContext *bdi_basis_init(enum BasisFamily family, double sf);
+void bdi_basis_free(BasisSetContext **s);
+
+double bdi_basis_eval(BasisSetContext *s, enum BSEvalType type,
+ double coord, int order);
+double bdi_basis_colloc_point(BasisSetContext *s, int idx, int order);
+
+#endif /* BRILL_DATA_BASIS_H */