mirror of
https://github.com/TREX-CoE/trexio.git
synced 2024-12-23 04:43:57 +01:00
Merge branch 'TREX-CoE:master' into master
This commit is contained in:
commit
064600afcd
@ -16,7 +16,43 @@ done
|
|||||||
# check that both variables are set
|
# check that both variables are set
|
||||||
if [[ -z ${H5_LDFLAGS_LOCAL} ]] || [[ -z ${H5_CFLAGS_LOCAL} ]]; then
|
if [[ -z ${H5_LDFLAGS_LOCAL} ]] || [[ -z ${H5_CFLAGS_LOCAL} ]]; then
|
||||||
if [[ -z ${H5_LDFLAGS} ]] || [[ -z ${H5_CFLAGS} ]]; then
|
if [[ -z ${H5_LDFLAGS} ]] || [[ -z ${H5_CFLAGS} ]]; then
|
||||||
echo "Paths to the HDF5 installation are not provided. pkgconfig will try to detect them."
|
which h5cc &> /dev/null
|
||||||
|
if [[ $? -eq 0 ]] ; then
|
||||||
|
HDF5_tmp_flags=$(h5cc -showconfig \
|
||||||
|
| grep 'FLAGS\|Extra libraries:' \
|
||||||
|
| awk -F: '{printf("%s "), $2}' )
|
||||||
|
echo $HDF5_tmp_flags
|
||||||
|
|
||||||
|
# Find the installation directory and append include/
|
||||||
|
HDF5_tmp_inst=$(h5cc -showconfig \
|
||||||
|
| grep 'Installation point:' \
|
||||||
|
| awk '{print $NF}' )
|
||||||
|
echo $HDF5_tmp_inst
|
||||||
|
|
||||||
|
# Add this to the CPPFLAGS
|
||||||
|
HDF5_CPPFLAGS="-I${HDF5_tmp_inst}/include"
|
||||||
|
|
||||||
|
HDF5_SHOW=$(h5cc -show)
|
||||||
|
|
||||||
|
# Now sort the flags out based upon their prefixes
|
||||||
|
for arg in $HDF5_SHOW $HDF5_tmp_flags ; do
|
||||||
|
case "$arg" in
|
||||||
|
-I*) echo $HDF5_CPPFLAGS | grep -e "$arg" 2>&1 >/dev/null \
|
||||||
|
|| HDF5_CPPFLAGS="$HDF5_CPPFLAGS $arg"
|
||||||
|
;;
|
||||||
|
-L*) echo $HDF5_LDFLAGS | grep -e "$arg" 2>&1 >/dev/null \
|
||||||
|
|| HDF5_LDFLAGS="$HDF5_LDFLAGS $arg"
|
||||||
|
;;
|
||||||
|
-l*) echo $HDF5_LIBS | grep -e "$arg" 2>&1 >/dev/null \
|
||||||
|
|| HDF5_LIBS="$HDF5_LIBS $arg"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
export H5_LDFLAGS="$HDF5_LDFLAGS"
|
||||||
|
export H5_CFLAGS="$HDF5_CPPFLAGS"
|
||||||
|
else
|
||||||
|
echo "Paths to the HDF5 installation are not provided. pkgconfig will try to detect them."
|
||||||
|
fi
|
||||||
else
|
else
|
||||||
echo "Using exported H5_LDFLAGS and H5_CFLAGS environment variables."
|
echo "Using exported H5_LDFLAGS and H5_CFLAGS environment variables."
|
||||||
fi
|
fi
|
||||||
|
@ -166,7 +166,11 @@ On non-POSIX file systems, the function ~mkdtemp~ might is not defined.
|
|||||||
In that case, we define an alternate one, which is not as safe as the original one.
|
In that case, we define an alternate one, which is not as safe as the original one.
|
||||||
|
|
||||||
#+begin_src c :tangle basic_text.c
|
#+begin_src c :tangle basic_text.c
|
||||||
#if defined _POSIX_C_SOURCE && (_POSIX_C_SOURCE - 0) >= 200809L
|
#if /* Since glibc 2.19: */ _DEFAULT_SOURCE \
|
||||||
|
|| /* Glibc 2.19 and earlier: */ _BSD_SOURCE \
|
||||||
|
|| /* Since glibc 2.10: */ _POSIX_C_SOURCE >= 200809L
|
||||||
|
|
||||||
|
/* mkdtemp is defined */
|
||||||
#else
|
#else
|
||||||
|
|
||||||
char* mkdtemp(char* template) {
|
char* mkdtemp(char* template) {
|
||||||
|
@ -46,7 +46,7 @@ static int test_write_dset_sparse (const char* file_name, const back_end_t backe
|
|||||||
uint64_t chunk_size = (uint64_t) size/N_CHUNKS;
|
uint64_t chunk_size = (uint64_t) size/N_CHUNKS;
|
||||||
chunk_size = chunk_size > 0 ? chunk_size : (uint64_t) size;
|
chunk_size = chunk_size > 0 ? chunk_size : (uint64_t) size;
|
||||||
int n_chunks = size/chunk_size;
|
int n_chunks = size/chunk_size;
|
||||||
printf("chunk_size = %ld\n", chunk_size);
|
printf("chunk_size = %lld\n", chunk_size);
|
||||||
printf("n_chunks = %d\n", n_chunks);
|
printf("n_chunks = %d\n", n_chunks);
|
||||||
|
|
||||||
uint64_t offset_f = 0UL + offset;
|
uint64_t offset_f = 0UL + offset;
|
||||||
@ -55,7 +55,7 @@ static int test_write_dset_sparse (const char* file_name, const back_end_t backe
|
|||||||
// write n_chunks times using write_sparse
|
// write n_chunks times using write_sparse
|
||||||
while(offset_d < size) {
|
while(offset_d < size) {
|
||||||
if (offset_d+chunk_size > size) chunk_size = size-offset_d;
|
if (offset_d+chunk_size > size) chunk_size = size-offset_d;
|
||||||
printf("chunk_size = %ld\n", chunk_size);
|
printf("chunk_size = %lld\n", chunk_size);
|
||||||
if (chunk_size == 0L) break;
|
if (chunk_size == 0L) break;
|
||||||
rc = trexio_write_mo_2e_int_eri(file, offset_f, chunk_size, &index[4*offset_d], &value[offset_d]);
|
rc = trexio_write_mo_2e_int_eri(file, offset_f, chunk_size, &index[4*offset_d], &value[offset_d]);
|
||||||
printf("%5d: %s\n", __LINE__, trexio_string_of_error(rc));
|
printf("%5d: %s\n", __LINE__, trexio_string_of_error(rc));
|
||||||
@ -163,7 +163,7 @@ static int test_read_dset_sparse (const char* file_name, const back_end_t backen
|
|||||||
printf("%5d: %s\n", __LINE__, trexio_string_of_error(rc));
|
printf("%5d: %s\n", __LINE__, trexio_string_of_error(rc));
|
||||||
/*
|
/*
|
||||||
for (int i=0 ; i<chunk_read ; ++i) {
|
for (int i=0 ; i<chunk_read ; ++i) {
|
||||||
printf("%d %d | %ld %ld %ld\n", i, index_read[i], offset, offset_file_read, chunk_read);
|
printf("%d %d | %lld %lld %lld\n", i, index_read[i], offset, offset_file_read, chunk_read);
|
||||||
}
|
}
|
||||||
*/
|
*/
|
||||||
//assert(rc == TREXIO_SUCCESS);
|
//assert(rc == TREXIO_SUCCESS);
|
||||||
@ -184,7 +184,7 @@ static int test_read_dset_sparse (const char* file_name, const back_end_t backen
|
|||||||
printf("%5d: %s\n", __LINE__, trexio_string_of_error(rc));
|
printf("%5d: %s\n", __LINE__, trexio_string_of_error(rc));
|
||||||
assert(rc == TREXIO_END);
|
assert(rc == TREXIO_END);
|
||||||
printf("%d %d x\n", (int32_t) index_read[0], (int32_t) (4L*offset_file_read));
|
printf("%d %d x\n", (int32_t) index_read[0], (int32_t) (4L*offset_file_read));
|
||||||
printf("%ld %ld\n", chunk_read, eof_read_size_check);
|
printf("%lld %lld\n", chunk_read, eof_read_size_check);
|
||||||
assert(chunk_read == eof_read_size_check);
|
assert(chunk_read == eof_read_size_check);
|
||||||
printf("%d %d\n", index_read[0] , (int32_t) (offset_file_read - offset));
|
printf("%d %d\n", index_read[0] , (int32_t) (offset_file_read - offset));
|
||||||
assert(index_read[0] == (int32_t) offset_file_read - offset);
|
assert(index_read[0] == (int32_t) offset_file_read - offset);
|
||||||
@ -222,7 +222,7 @@ static int test_read_dset_sparse_size (const char* file_name, const back_end_t b
|
|||||||
// read one chunk using the aforementioned parameters
|
// read one chunk using the aforementioned parameters
|
||||||
rc = trexio_read_mo_2e_int_eri_size(file, &size_written);
|
rc = trexio_read_mo_2e_int_eri_size(file, &size_written);
|
||||||
assert(rc == TREXIO_SUCCESS);
|
assert(rc == TREXIO_SUCCESS);
|
||||||
printf("%5d: %ld %ld\n", __LINE__, size_written, size_check);
|
printf("%5d: %lld %lld\n", __LINE__, size_written, size_check);
|
||||||
assert(size_written == size_check);
|
assert(size_written == size_check);
|
||||||
|
|
||||||
// close current session
|
// close current session
|
||||||
|
@ -69,8 +69,8 @@ subroutine test_write(file_name, back_end)
|
|||||||
double precision :: charge(12)
|
double precision :: charge(12)
|
||||||
double precision :: coord(3,12)
|
double precision :: coord(3,12)
|
||||||
|
|
||||||
character(len=:), allocatable :: sym_str
|
character(len=32), allocatable :: sym_str
|
||||||
character(len=:), allocatable :: label(:)
|
character(len=8), allocatable :: label(:)
|
||||||
double precision, allocatable :: energy(:)
|
double precision, allocatable :: energy(:)
|
||||||
integer , allocatable :: spin(:)
|
integer , allocatable :: spin(:)
|
||||||
|
|
||||||
@ -131,7 +131,7 @@ subroutine test_write(file_name, back_end)
|
|||||||
basis_shell_num = 24
|
basis_shell_num = 24
|
||||||
basis_nucleus_index = (/ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24 /)
|
basis_nucleus_index = (/ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24 /)
|
||||||
|
|
||||||
allocate(character(len=8) :: label(12))
|
allocate(label(12))
|
||||||
label(1) = 'C'
|
label(1) = 'C'
|
||||||
label(2) = 'Na'
|
label(2) = 'Na'
|
||||||
label(3) = 'C'
|
label(3) = 'C'
|
||||||
|
@ -611,13 +611,13 @@ def get_detailed_num_dict (configuration: dict) -> dict:
|
|||||||
tmp_dict.update(get_dtype_dict(v2[0], 'num'))
|
tmp_dict.update(get_dtype_dict(v2[0], 'num'))
|
||||||
if v2[0] in ['int', 'dim', 'dim readonly']:
|
if v2[0] in ['int', 'dim', 'dim readonly']:
|
||||||
tmp_dict['trex_json_int_type'] = v2[0]
|
tmp_dict['trex_json_int_type'] = v2[0]
|
||||||
tmp_dict['is_index'] = 'false'
|
tmp_dict['is_index'] = '(false)'
|
||||||
elif v2[0] in ['index']:
|
elif v2[0] in ['index']:
|
||||||
tmp_dict['trex_json_int_type'] = v2[0]
|
tmp_dict['trex_json_int_type'] = v2[0]
|
||||||
tmp_dict['is_index'] = 'file->one_based'
|
tmp_dict['is_index'] = 'file->one_based'
|
||||||
else:
|
else:
|
||||||
tmp_dict['trex_json_int_type'] = ''
|
tmp_dict['trex_json_int_type'] = ''
|
||||||
tmp_dict['is_index'] = 'false'
|
tmp_dict['is_index'] = '(false)'
|
||||||
|
|
||||||
num_dict[tmp_num] = tmp_dict
|
num_dict[tmp_num] = tmp_dict
|
||||||
|
|
||||||
@ -721,7 +721,7 @@ def split_dset_dict_detailed (datasets: dict) -> tuple:
|
|||||||
if 'index' in datatype:
|
if 'index' in datatype:
|
||||||
tmp_dict['is_index'] = 'file->one_based'
|
tmp_dict['is_index'] = 'file->one_based'
|
||||||
else:
|
else:
|
||||||
tmp_dict['is_index'] = 'false'
|
tmp_dict['is_index'] = '(false)'
|
||||||
|
|
||||||
# add the list of dimensions
|
# add the list of dimensions
|
||||||
tmp_dict['dims'] = [dim.replace('.','_') for dim in v[1]]
|
tmp_dict['dims'] = [dim.replace('.','_') for dim in v[1]]
|
||||||
|
Loading…
Reference in New Issue
Block a user