mirror of
https://github.com/TREX-CoE/trexio.git
synced 2024-11-03 20:54:07 +01:00
added write_h5 test
This commit is contained in:
parent
ff28a435d9
commit
cbb936564e
@ -44,9 +44,10 @@ libtrio.so: $(OBJECT_FILES) $(HEADER_FILES)
|
|||||||
|
|
||||||
test: libtrio.so test.c
|
test: libtrio.so test.c
|
||||||
$(CC) $(CFLAGS) $(INCLUDE) -Wl,-rpath,$(PWD) -L. test.c -ltrio $(LIBS) -o test
|
$(CC) $(CFLAGS) $(INCLUDE) -Wl,-rpath,$(PWD) -L. test.c -ltrio $(LIBS) -o test
|
||||||
|
rm test_write.h5
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
rm -f *.o libtrio.so
|
rm -f *.o libtrio.so test test_write.h5
|
||||||
|
|
||||||
%.o: %.c $(HEADER_FILES)
|
%.o: %.c $(HEADER_FILES)
|
||||||
$(CC) $(CFLAGS) $(INCLUDE) -c $*.c -o $*.o
|
$(CC) $(CFLAGS) $(INCLUDE) -c $*.c -o $*.o
|
||||||
|
77
src/test.c
77
src/test.c
@ -8,8 +8,10 @@ int test_read();
|
|||||||
int test_write();
|
int test_write();
|
||||||
|
|
||||||
int test_h5read();
|
int test_h5read();
|
||||||
|
int test_h5write();
|
||||||
|
|
||||||
int main() {
|
int main() {
|
||||||
|
test_h5write();
|
||||||
test_h5read();
|
test_h5read();
|
||||||
test_write();
|
test_write();
|
||||||
test_read();
|
test_read();
|
||||||
@ -17,6 +19,59 @@ int main() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
int test_h5write() {
|
||||||
|
const char* file_name = "test_write.h5";
|
||||||
|
|
||||||
|
trio_t* file = NULL;
|
||||||
|
trio_exit_code rc;
|
||||||
|
|
||||||
|
rc = TRIO_SUCCESS;
|
||||||
|
|
||||||
|
uint64_t num = 12;
|
||||||
|
|
||||||
|
//double charge[12] = {6., 6., 6., 6., 6., 6., 1., 1., 1., 1., 1., 1.};
|
||||||
|
|
||||||
|
double coord[36] = {
|
||||||
|
0.00000000 , 1.39250319 , 0.00000000 ,
|
||||||
|
-1.20594314 , 0.69625160 , 0.00000000 ,
|
||||||
|
-1.20594314 , -0.69625160 , 0.00000000 ,
|
||||||
|
0.00000000 , -1.39250319 , 0.00000000 ,
|
||||||
|
1.20594314 , -0.69625160 , 0.00000000 ,
|
||||||
|
1.20594314 , 0.69625160 , 0.00000000 ,
|
||||||
|
-2.14171677 , 1.23652075 , 0.00000000 ,
|
||||||
|
-2.14171677 , -1.23652075 , 0.00000000 ,
|
||||||
|
0.00000000 , -2.47304151 , 0.00000000 ,
|
||||||
|
2.14171677 , -1.23652075 , 0.00000000 ,
|
||||||
|
2.14171677 , 1.23652075 , 0.00000000 ,
|
||||||
|
0.00000000 , 2.47304151 , 0.00000000 ,
|
||||||
|
};
|
||||||
|
|
||||||
|
file = trio_create(file_name, TRIO_HDF5);
|
||||||
|
|
||||||
|
// works: try writing info in an empty file
|
||||||
|
rc = trio_write_nucleus_num(file,num);
|
||||||
|
// rc = trio_write_nucleus_charge(file,charge);
|
||||||
|
rc = trio_write_nucleus_coord(file,coord);
|
||||||
|
|
||||||
|
// should not work: try to rewrite the nucleus_num
|
||||||
|
rc = trio_write_nucleus_num(file,25);
|
||||||
|
|
||||||
|
// works: try to rewrite the nucleus_coord
|
||||||
|
// coord[0] = 666.0;
|
||||||
|
// rc = trio_write_nucleus_coord(file,coord);
|
||||||
|
|
||||||
|
|
||||||
|
if (rc == TRIO_SUCCESS) {
|
||||||
|
printf("SUCCESS\n");
|
||||||
|
} else {
|
||||||
|
printf("FAILURE\n");
|
||||||
|
}
|
||||||
|
|
||||||
|
trio_close(file);
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
int test_h5read() {
|
int test_h5read() {
|
||||||
const char* file_name = "test.h5";
|
const char* file_name = "test.h5";
|
||||||
|
|
||||||
@ -29,23 +84,24 @@ int test_h5read() {
|
|||||||
|
|
||||||
file = trio_create(file_name, TRIO_HDF5);
|
file = trio_create(file_name, TRIO_HDF5);
|
||||||
|
|
||||||
/*rc = trio_read_nucleus_num(file,&num);
|
rc = trio_read_nucleus_num(file,&num);
|
||||||
assert (num == 12);
|
assert (num == 4);
|
||||||
|
|
||||||
|
/*
|
||||||
charge = (double*) calloc(num, sizeof(double));
|
charge = (double*) calloc(num, sizeof(double));
|
||||||
rc = trio_read_nucleus_charge(file,charge);
|
rc = trio_read_nucleus_charge(file,charge);
|
||||||
assert(charge[10] == 1.);*/
|
assert(charge[] == 1.);
|
||||||
num = 4;
|
*/
|
||||||
|
|
||||||
coord = (double*) calloc(3*num, sizeof(double));
|
coord = (double*) calloc(3*num, sizeof(double));
|
||||||
rc = trio_read_nucleus_coord(file,coord);
|
rc = trio_read_nucleus_coord(file,coord);
|
||||||
|
|
||||||
for (size_t i=0; i<3*num; i++){
|
/*for (size_t i=0; i<3*num; i++){
|
||||||
printf("%lf \n", coord[i]);
|
printf("%lf \n", coord[i]);
|
||||||
}
|
}*/
|
||||||
|
|
||||||
double x = coord[0] - 2.14171677;
|
double x = coord[0] - 1.2;
|
||||||
assert( x*x < 1000.);
|
assert( x*x < 1.e-12);
|
||||||
|
|
||||||
if (rc == TRIO_SUCCESS) {
|
if (rc == TRIO_SUCCESS) {
|
||||||
printf("SUCCESS\n");
|
printf("SUCCESS\n");
|
||||||
@ -53,7 +109,9 @@ int test_h5read() {
|
|||||||
printf("FAILURE\n");
|
printf("FAILURE\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
trio_close(file);
|
trio_close(file);
|
||||||
|
free(coord);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
@ -134,6 +192,9 @@ int test_read() {
|
|||||||
|
|
||||||
trio_close(file);
|
trio_close(file);
|
||||||
|
|
||||||
|
free(charge);
|
||||||
|
free(coord);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user