From 21a9d6c51e81fdbbb5eaf29625f73a2ae1fe10ac Mon Sep 17 00:00:00 2001 From: Anthony Scemama Date: Sat, 9 Jul 2022 11:17:52 +0200 Subject: [PATCH] mask in MOs --- org/qmckl_mo.org | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/org/qmckl_mo.org b/org/qmckl_mo.org index 3e21623..68e6305 100644 --- a/org/qmckl_mo.org +++ b/org/qmckl_mo.org @@ -305,6 +305,13 @@ if (qmckl_context_check(context) == QMCKL_NULL_CONTEXT) { } qmckl_context_struct* const ctx = (qmckl_context_struct*) context; + +if (!(ctx->mo_basis.uninitialized & mask)) { + return qmckl_failwith( context, + QMCKL_ALREADY_SET, + "qmckl_set_mo_*", + NULL); + } #+end_src #+NAME:post @@ -320,6 +327,9 @@ return QMCKL_SUCCESS; #+begin_src c :comments org :tangle (eval c) :noweb yes :exports none qmckl_exit_code qmckl_set_mo_basis_mo_num(qmckl_context context, const int64_t mo_num) { + + int32_t mask = 1 ; + <
>
 
   if (mo_num <= 0) {
@@ -329,17 +339,17 @@ qmckl_exit_code qmckl_set_mo_basis_mo_num(qmckl_context context, const int64_t m
                            "mo_num <= 0");
   }
 
-  int32_t mask = 1 ;
   ctx->mo_basis.mo_num = mo_num;
 
   <>
 }
 
 qmckl_exit_code  qmckl_set_mo_basis_coefficient(qmckl_context context, const double* coefficient) {
-  <
>
-
+  
   int32_t mask = 1 << 1;
 
+  <
>
+
   if (ctx->mo_basis.coefficient != NULL) {
     qmckl_exit_code rc = qmckl_free(context, ctx->mo_basis.coefficient);
     if (rc != QMCKL_SUCCESS) {