mirror of
https://github.com/TREX-CoE/qmckl.git
synced 2024-11-03 20:54:09 +01:00
Merge branch 'master' of github.com:TREX-CoE/qmckl
This commit is contained in:
commit
e9f79c144a
108
.github/workflows/test-build.yml
vendored
108
.github/workflows/test-build.yml
vendored
@ -18,70 +18,94 @@ jobs:
|
|||||||
- name: Install dependencies
|
- name: Install dependencies
|
||||||
run: sudo apt-get install emacs autoconf libhdf5-dev
|
run: sudo apt-get install emacs autoconf libhdf5-dev
|
||||||
|
|
||||||
- name: Install trexio
|
#- name: Install trexio from the distribution tarball
|
||||||
|
# run: |
|
||||||
|
# export TAG=v2.1.0
|
||||||
|
# export VERSION=2.1.0
|
||||||
|
# wget https://github.com/TREX-CoE/trexio/releases/download/${TAG}/trexio-${VERSION}.tar.gz
|
||||||
|
# tar -zxf trexio-${VERSION}.tar.gz
|
||||||
|
# cd trexio-${VERSION}
|
||||||
|
# ./configure --prefix=/usr
|
||||||
|
# make -j 4
|
||||||
|
# sudo make install
|
||||||
|
- name: Install the latest TREXIO from the GitHub clone
|
||||||
run: |
|
run: |
|
||||||
export TAG=v2.1.0
|
git clone https://github.com/TREX-CoE/trexio.git
|
||||||
export VERSION=2.1.0
|
cd trexio
|
||||||
wget https://github.com/TREX-CoE/trexio/releases/download/${TAG}/trexio-${VERSION}.tar.gz
|
./autogen.sh
|
||||||
tar -zxf trexio-${VERSION}.tar.gz
|
|
||||||
cd trexio-${VERSION}
|
|
||||||
./configure --prefix=/usr
|
./configure --prefix=/usr
|
||||||
make -j 8
|
make -j 4
|
||||||
sudo make install
|
sudo make install
|
||||||
|
|
||||||
- name: Build
|
- name: Build QMCkl
|
||||||
run: |
|
run: |
|
||||||
./autogen.sh
|
./autogen.sh
|
||||||
./configure --enable-silent-rules --enable-debug
|
./configure --enable-silent-rules --enable-debug
|
||||||
make -j 8
|
make -j 4
|
||||||
|
|
||||||
- name: Run test
|
- name: Run test
|
||||||
run: |
|
run: make -j 4 check
|
||||||
make -j check
|
|
||||||
|
|
||||||
- name: Archive test log file
|
- name: Archive test log file
|
||||||
if: failure()
|
if: failure()
|
||||||
uses: actions/upload-artifact@v2
|
uses: actions/upload-artifact@v2
|
||||||
with:
|
with:
|
||||||
name: test-report
|
name: test-report-ubuntu
|
||||||
path: test-suite.log
|
path: test-suite.log
|
||||||
|
|
||||||
- name: Dist test
|
- name: Dist test
|
||||||
run: |
|
run: make distcheck
|
||||||
make distcheck
|
|
||||||
|
|
||||||
- name: Archive test log file
|
- name: Archive test log file
|
||||||
if: failure()
|
if: failure()
|
||||||
uses: actions/upload-artifact@v2
|
uses: actions/upload-artifact@v2
|
||||||
with:
|
with:
|
||||||
name: dist-report
|
name: dist-report-ubuntu
|
||||||
path: test-suite.log
|
path: test-suite.log
|
||||||
|
|
||||||
|
x86_macos:
|
||||||
|
|
||||||
# x86_macos:
|
runs-on: macos-latest
|
||||||
#
|
name: x86 MacOS latest
|
||||||
# runs-on: macos-latest
|
|
||||||
# name: x86 MacOS latest
|
steps:
|
||||||
#
|
- uses: actions/checkout@v2
|
||||||
# steps:
|
- name: install dependencies
|
||||||
# - uses: actions/checkout@v2
|
run: brew install emacs hdf5 automake pkg-config
|
||||||
# - name: install dependencies
|
|
||||||
# run: |
|
- name: Symlink gfortran (macOS)
|
||||||
# brew install gfortran-10
|
if: runner.os == 'macOS'
|
||||||
# brew install emacs
|
run: |
|
||||||
# brew install autoconf automake libtool
|
# make sure gfortran is available
|
||||||
# - name: install trexio
|
# https://github.com/actions/virtual-environments/issues/2524
|
||||||
# run: |
|
# https://github.com/cbg-ethz/dce/blob/master/.github/workflows/pkgdown.yaml
|
||||||
# wget https://github.com/TREX-CoE/trexio/releases/download/v1.0/trexio-1.0.0.tar.gz
|
sudo ln -s /usr/local/bin/gfortran-10 /usr/local/bin/gfortran
|
||||||
# tar -zxf trexio-1.0.0.tar.gz
|
sudo mkdir /usr/local/gfortran
|
||||||
# cd trexio-1.0.0
|
sudo ln -s /usr/local/Cellar/gcc@10/*/lib/gcc/10 /usr/local/gfortran/lib
|
||||||
# ./configure
|
gfortran --version
|
||||||
# make -j 8
|
|
||||||
# sudo make install
|
- name: Install the latest TREXIO from the GitHub clone
|
||||||
# - name: Run test
|
run: |
|
||||||
# run: |
|
git clone https://github.com/TREX-CoE/trexio.git
|
||||||
# ./autogen.sh
|
cd trexio
|
||||||
# ./configure --enable-silent-rules --enable-debug
|
./autogen.sh
|
||||||
# make -j 8
|
./configure --prefix=${PWD}/_install --enable-silent-rules
|
||||||
# make -j check
|
make -j 4
|
||||||
# make distcheck
|
make install
|
||||||
|
|
||||||
|
- name: Build QMCkl
|
||||||
|
run: |
|
||||||
|
export PKG_CONFIG_PATH=${PWD}/trexio/_install/lib/pkgconfig:$PKG_CONFIG_PATH
|
||||||
|
./autogen.sh
|
||||||
|
./configure --enable-silent-rules --enable-debug
|
||||||
|
make -j 4
|
||||||
|
|
||||||
|
- name: Run test
|
||||||
|
run: make -j 4 check
|
||||||
|
|
||||||
|
- name: Archive test log file
|
||||||
|
if: failure()
|
||||||
|
uses: actions/upload-artifact@v2
|
||||||
|
with:
|
||||||
|
name: test-report-macos
|
||||||
|
path: test-suite.log
|
||||||
|
@ -75,7 +75,6 @@ AC_PROG_CC
|
|||||||
m4_version_prereq([2.70],[], [AC_PROG_CC_C99])
|
m4_version_prereq([2.70],[], [AC_PROG_CC_C99])
|
||||||
AS_IF([test "$ac_cv_prog_cc_c99" = "no"], [AC_MSG_ERROR([The compiler does not support C99])])
|
AS_IF([test "$ac_cv_prog_cc_c99" = "no"], [AC_MSG_ERROR([The compiler does not support C99])])
|
||||||
AC_PROG_CC_C_O
|
AC_PROG_CC_C_O
|
||||||
AC_PROG_F77
|
|
||||||
AC_PROG_FC
|
AC_PROG_FC
|
||||||
AC_PROG_FC_C_O
|
AC_PROG_FC_C_O
|
||||||
AC_FC_SRCEXT([f90])
|
AC_FC_SRCEXT([f90])
|
||||||
|
@ -64,7 +64,6 @@
|
|||||||
(org-babel-lob-ingest "../tools/lib.org")
|
(org-babel-lob-ingest "../tools/lib.org")
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
|
|
||||||
#+begin_src c :tangle (eval h_private_func)
|
#+begin_src c :tangle (eval h_private_func)
|
||||||
#ifndef QMCKL_JASTROW_HPF
|
#ifndef QMCKL_JASTROW_HPF
|
||||||
#define QMCKL_JASTROW_HPF
|
#define QMCKL_JASTROW_HPF
|
||||||
@ -1352,43 +1351,55 @@ integer function qmckl_compute_asymp_jasb_f(context, bord_num, bord_vector, resc
|
|||||||
end function qmckl_compute_asymp_jasb_f
|
end function qmckl_compute_asymp_jasb_f
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
|
#+begin_src c :comments org :tangle (eval c) :noweb yes
|
||||||
|
qmckl_exit_code qmckl_compute_asymp_jasb (
|
||||||
|
const qmckl_context context,
|
||||||
|
const int64_t bord_num,
|
||||||
|
const double* bord_vector,
|
||||||
|
const double rescale_factor_kappa_ee,
|
||||||
|
double* const asymp_jasb ) {
|
||||||
|
|
||||||
|
double kappa_inv, x, asym_one;
|
||||||
|
|
||||||
|
kappa_inv = 1.0 / rescale_factor_kappa_ee;
|
||||||
|
|
||||||
|
if (context == QMCKL_NULL_CONTEXT){
|
||||||
|
return QMCKL_INVALID_CONTEXT;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (bord_num <= 0) {
|
||||||
|
return QMCKL_INVALID_ARG_2;
|
||||||
|
}
|
||||||
|
|
||||||
|
asym_one = bord_vector[0] * kappa_inv / (1.0 + bord_vector[1] * kappa_inv);
|
||||||
|
asymp_jasb[0] = asym_one;
|
||||||
|
asymp_jasb[1] = 0.5 * asym_one;
|
||||||
|
|
||||||
|
for (int i = 0 ; i <= 1; ++i) {
|
||||||
|
x = kappa_inv;
|
||||||
|
for (int p = 1; p < bord_num; ++p){
|
||||||
|
x = x * kappa_inv;
|
||||||
|
asymp_jasb[i] = asymp_jasb[i] + bord_vector[p + 1] * x;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return QMCKL_SUCCESS;
|
||||||
|
}
|
||||||
|
#+end_src
|
||||||
|
|
||||||
#+CALL: generate_c_header(table=qmckl_asymp_jasb_args,rettyp=get_value("CRetType"),fname=get_value("Name"))
|
#+CALL: generate_c_header(table=qmckl_asymp_jasb_args,rettyp=get_value("CRetType"),fname=get_value("Name"))
|
||||||
|
|
||||||
#+RESULTS:
|
#+RESULTS:
|
||||||
#+BEGIN_src c :tangle (eval h_func) :comments org
|
#+begin_src c :tangle (eval h_func) :comments org
|
||||||
qmckl_exit_code qmckl_compute_asymp_jasb (
|
qmckl_exit_code qmckl_compute_asymp_jasb (
|
||||||
const qmckl_context context,
|
const qmckl_context context,
|
||||||
const int64_t bord_num,
|
const int64_t bord_num,
|
||||||
const double* bord_vector,
|
const double* bord_vector,
|
||||||
const double rescale_factor_kappa_ee,
|
const double rescale_factor_kappa_ee,
|
||||||
double* const asymp_jasb );
|
double* const asymp_jasb );
|
||||||
#+END_src
|
#+end_src
|
||||||
|
|
||||||
|
|
||||||
#+CALL: generate_c_interface(table=qmckl_asymp_jasb_args,rettyp=get_value("CRetType"),fname=get_value("Name"))
|
|
||||||
|
|
||||||
#+RESULTS:
|
|
||||||
#+BEGIN_src f90 :tangle (eval f) :comments org :exports none
|
|
||||||
integer(c_int32_t) function qmckl_compute_asymp_jasb &
|
|
||||||
(context, bord_num, bord_vector, rescale_factor_kappa_ee, asymp_jasb) &
|
|
||||||
bind(C) result(info)
|
|
||||||
|
|
||||||
use, intrinsic :: iso_c_binding
|
|
||||||
implicit none
|
|
||||||
|
|
||||||
integer (c_int64_t) , intent(in) , value :: context
|
|
||||||
integer (c_int64_t) , intent(in) , value :: bord_num
|
|
||||||
real (c_double ) , intent(in) :: bord_vector(bord_num + 1)
|
|
||||||
real (c_double ) , intent(in) , value :: rescale_factor_kappa_ee
|
|
||||||
real (c_double ) , intent(out) :: asymp_jasb(2)
|
|
||||||
|
|
||||||
integer(c_int32_t), external :: qmckl_compute_asymp_jasb_f
|
|
||||||
info = qmckl_compute_asymp_jasb_f &
|
|
||||||
(context, bord_num, bord_vector, rescale_factor_kappa_ee, asymp_jasb)
|
|
||||||
|
|
||||||
end function qmckl_compute_asymp_jasb
|
|
||||||
#+END_src
|
|
||||||
|
|
||||||
*** Test
|
*** Test
|
||||||
#+name: asymp_jasb
|
#+name: asymp_jasb
|
||||||
#+begin_src python :results output :exports none :noweb yes
|
#+begin_src python :results output :exports none :noweb yes
|
||||||
|
@ -2,9 +2,10 @@ rank_metadata_code 0
|
|||||||
rank_metadata_author 0
|
rank_metadata_author 0
|
||||||
metadata_code_num_isSet 0
|
metadata_code_num_isSet 0
|
||||||
metadata_author_num_isSet 0
|
metadata_author_num_isSet 0
|
||||||
|
metadata_unsafe_isSet 0
|
||||||
len_metadata_package_version 6
|
len_metadata_package_version 6
|
||||||
metadata_package_version
|
metadata_package_version
|
||||||
2.0.0
|
2.2.0
|
||||||
len_metadata_description 0
|
len_metadata_description 0
|
||||||
metadata_description
|
metadata_description
|
||||||
metadata_code
|
metadata_code
|
||||||
|
Loading…
Reference in New Issue
Block a user