mirror of
https://github.com/TREX-CoE/qmckl.git
synced 2025-01-08 20:33:40 +01:00
Fix AO tests
This commit is contained in:
parent
58cd3f009d
commit
8090edc771
136
org/qmckl_ao.org
136
org/qmckl_ao.org
@ -56,6 +56,8 @@ gradients and Laplacian of the atomic basis functions.
|
||||
#include "config.h"
|
||||
#endif
|
||||
|
||||
#include "chbrclf.h"
|
||||
|
||||
int main() {
|
||||
qmckl_context context;
|
||||
context = qmckl_context_create();
|
||||
@ -155,7 +157,7 @@ typedef struct qmckl_ao_basis_struct {
|
||||
int64_t shell_num;
|
||||
int64_t prim_num;
|
||||
int64_t * shell_center;
|
||||
char * shell_ang_mom;
|
||||
int32_t * shell_ang_mom;
|
||||
int64_t * shell_prim_num;
|
||||
int64_t * shell_prim_index;
|
||||
double * shell_factor;
|
||||
@ -179,7 +181,7 @@ char qmckl_get_ao_basis_type (const qmckl_context context);
|
||||
int64_t qmckl_get_ao_basis_shell_num (const qmckl_context context);
|
||||
int64_t qmckl_get_ao_basis_prim_num (const qmckl_context context);
|
||||
int64_t* qmckl_get_ao_basis_shell_center (const qmckl_context context);
|
||||
char* qmckl_get_ao_basis_shell_ang_mom (const qmckl_context context);
|
||||
int32_t* qmckl_get_ao_basis_shell_ang_mom (const qmckl_context context);
|
||||
int64_t* qmckl_get_ao_basis_shell_prim_num (const qmckl_context context);
|
||||
int64_t* qmckl_get_ao_basis_shell_prim_index (const qmckl_context context);
|
||||
double* qmckl_get_ao_basis_shell_factor (const qmckl_context context);
|
||||
@ -280,7 +282,7 @@ int64_t* qmckl_get_ao_basis_shell_center (const qmckl_context context) {
|
||||
}
|
||||
|
||||
|
||||
char* qmckl_get_ao_basis_shell_ang_mom (const qmckl_context context) {
|
||||
int32_t* qmckl_get_ao_basis_shell_ang_mom (const qmckl_context context) {
|
||||
if (qmckl_context_check(context) == QMCKL_NULL_CONTEXT) {
|
||||
return NULL;
|
||||
}
|
||||
@ -403,7 +405,7 @@ double* qmckl_get_ao_basis_prim_factor (const qmckl_context context) {
|
||||
qmckl_context_struct* const ctx = (qmckl_context_struct* const) context;
|
||||
assert (ctx != NULL);
|
||||
|
||||
int32_t mask = 1 << 8;
|
||||
int32_t mask = 1 << 10;
|
||||
|
||||
if ( (ctx->ao_basis.uninitialized & mask) != 0) {
|
||||
return NULL;
|
||||
@ -438,7 +440,7 @@ qmckl_exit_code qmckl_set_ao_basis_shell_num (qmckl_context context, con
|
||||
qmckl_exit_code qmckl_set_ao_basis_prim_num (qmckl_context context, const int64_t prim_num);
|
||||
qmckl_exit_code qmckl_set_ao_basis_shell_prim_index (qmckl_context context, const int64_t * shell_prim_index);
|
||||
qmckl_exit_code qmckl_set_ao_basis_shell_center (qmckl_context context, const int64_t * shell_center);
|
||||
qmckl_exit_code qmckl_set_ao_basis_shell_ang_mom (qmckl_context context, const char * shell_ang_mom);
|
||||
qmckl_exit_code qmckl_set_ao_basis_shell_ang_mom (qmckl_context context, const int32_t * shell_ang_mom);
|
||||
qmckl_exit_code qmckl_set_ao_basis_shell_prim_num (qmckl_context context, const int64_t * shell_prim_num);
|
||||
qmckl_exit_code qmckl_set_ao_basis_shell_factor (qmckl_context context, const double * shell_factor);
|
||||
qmckl_exit_code qmckl_set_ao_basis_exponent (qmckl_context context, const double * exponent);
|
||||
@ -463,7 +465,6 @@ ctx->ao_basis.provided = (ctx->ao_basis.uninitialized == 0);
|
||||
return QMCKL_SUCCESS;
|
||||
#+end_src
|
||||
|
||||
|
||||
#+begin_src c :comments org :tangle (eval c) :noweb yes :exports none
|
||||
qmckl_exit_code qmckl_set_ao_basis_type(qmckl_context context, const char t) {
|
||||
<<pre2>>
|
||||
@ -575,7 +576,7 @@ qmckl_exit_code qmckl_set_ao_basis_shell_center(qmckl_context context, const in
|
||||
}
|
||||
|
||||
|
||||
qmckl_exit_code qmckl_set_ao_basis_shell_ang_mom(qmckl_context context, const char* shell_ang_mom) {
|
||||
qmckl_exit_code qmckl_set_ao_basis_shell_ang_mom(qmckl_context context, const int32_t* shell_ang_mom) {
|
||||
<<pre2>>
|
||||
|
||||
int32_t mask = 1 << 4;
|
||||
@ -600,7 +601,7 @@ qmckl_exit_code qmckl_set_ao_basis_shell_ang_mom(qmckl_context context, const c
|
||||
|
||||
qmckl_memory_info_struct mem_info = qmckl_memory_info_struct_zero;
|
||||
mem_info.size = shell_num * sizeof(char);
|
||||
char* new_array = (char*) qmckl_malloc(context, mem_info);
|
||||
int32_t * new_array = (int32_t*) qmckl_malloc(context, mem_info);
|
||||
|
||||
if (new_array == NULL) {
|
||||
return qmckl_failwith( context,
|
||||
@ -824,7 +825,7 @@ qmckl_exit_code qmckl_set_ao_basis_coefficient(qmckl_context context, const dou
|
||||
qmckl_exit_code qmckl_set_ao_basis_prim_factor(qmckl_context context, const double* prim_factor) {
|
||||
<<pre2>>
|
||||
|
||||
int32_t mask = 1 << 7;
|
||||
int32_t mask = 1 << 10;
|
||||
|
||||
const int64_t prim_num = qmckl_get_ao_basis_prim_num(context);
|
||||
if (prim_num == 0L) {
|
||||
@ -868,88 +869,73 @@ qmckl_exit_code qmckl_set_ao_basis_prim_factor(qmckl_context context, const dou
|
||||
|
||||
** Test :noexport:
|
||||
|
||||
#+begin_src c :tangle (eval c_test) :exports none :exports none
|
||||
/* Reference input data */
|
||||
#+begin_src c :tangle (eval c_test) :exports none :exports none
|
||||
const int64_t shell_num = chbrclf_shell_num;
|
||||
const int64_t prim_num = chbrclf_prim_num;
|
||||
const int64_t * shell_center = &(chbrclf_basis_shell_center[0]);
|
||||
const int32_t * shell_ang_mom = &(chbrclf_basis_shell_ang_mom[0]);
|
||||
const int64_t * shell_prim_num = &(chbrclf_basis_shell_prim_num[0]);
|
||||
const int64_t * shell_prim_index = &(chbrclf_basis_shell_prim_index[0]);
|
||||
const double * shell_factor = &(chbrclf_basis_shell_factor[0]);
|
||||
const double * exponent = &(chbrclf_basis_exponent[0]);
|
||||
const double * coefficient = &(chbrclf_basis_coefficient[0]);
|
||||
const double * prim_factor = &(chbrclf_basis_prim_factor[0]);
|
||||
|
||||
char typ = 'G';
|
||||
#define shell_num ((int64_t) 12)
|
||||
#define prim_num ((int64_t) 20)
|
||||
char typ = 'G';
|
||||
|
||||
int64_t shell_center [shell_num] =
|
||||
{ 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2 };
|
||||
qmckl_exit_code rc;
|
||||
|
||||
char shell_ang_mom [shell_num] =
|
||||
{ 'S', 'S', 'S', 'P', 'P', 'D', 'S', 'S', 'S', 'P', 'P', 'D' };
|
||||
assert(!qmckl_ao_basis_provided(context));
|
||||
|
||||
double shell_factor [shell_num] =
|
||||
{ 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1. };
|
||||
rc = qmckl_set_ao_basis_type (context, typ);
|
||||
assert(rc == QMCKL_SUCCESS);
|
||||
assert(!qmckl_ao_basis_provided(context));
|
||||
|
||||
int64_t shell_prim_num [shell_num] =
|
||||
{5, 1, 1, 1, 1, 1, 5, 1, 1, 1, 1, 1};
|
||||
rc = qmckl_set_ao_basis_shell_num (context, shell_num);
|
||||
assert(rc == QMCKL_SUCCESS);
|
||||
assert(!qmckl_ao_basis_provided(context));
|
||||
|
||||
int64_t shell_prim_index [shell_num] =
|
||||
{1, 6, 7, 8, 9, 10, 11, 16, 17, 18, 19, 20};
|
||||
rc = qmckl_set_ao_basis_prim_num (context, prim_num);
|
||||
assert(rc == QMCKL_SUCCESS);
|
||||
assert(!qmckl_ao_basis_provided(context));
|
||||
|
||||
double exponent [prim_num] =
|
||||
{ 33.87, 5.095, 1.159, 0.3258, 0.1027, 0.3258, 0.1027,
|
||||
1.407, 0.388, 1.057, 33.87, 5.095, 1.159, 0.3258, 0.1027,
|
||||
0.3258, 0.1027, 1.407, 0.388, 1.057 };
|
||||
rc = qmckl_set_ao_basis_shell_center (context, shell_center);
|
||||
assert(rc == QMCKL_SUCCESS);
|
||||
assert(!qmckl_ao_basis_provided(context));
|
||||
|
||||
double coefficient [prim_num] =
|
||||
{ 0.006068, 0.045308, 0.202822, 0.503903, 0.383421,
|
||||
1.0, 1.0, 1.0, 1.0, 1.0, 0.006068, 0.045308, 0.202822,
|
||||
0.503903, 0.383421, 1.0, 1.0, 1.0, 1.0, 1.0 };
|
||||
/* --- */
|
||||
rc = qmckl_set_ao_basis_shell_ang_mom (context, shell_ang_mom);
|
||||
assert(rc == QMCKL_SUCCESS);
|
||||
assert(!qmckl_ao_basis_provided(context));
|
||||
|
||||
qmckl_exit_code rc;
|
||||
rc = qmckl_set_ao_basis_shell_factor (context, shell_factor);
|
||||
assert(rc == QMCKL_SUCCESS);
|
||||
assert(!qmckl_ao_basis_provided(context));
|
||||
|
||||
assert(!qmckl_ao_basis_provided(context));
|
||||
rc = qmckl_set_ao_basis_shell_center (context, shell_prim_num);
|
||||
assert(rc == QMCKL_SUCCESS);
|
||||
assert(!qmckl_ao_basis_provided(context));
|
||||
|
||||
rc = qmckl_set_ao_basis_type (context, typ);
|
||||
assert(rc == QMCKL_SUCCESS);
|
||||
assert(!qmckl_ao_basis_provided(context));
|
||||
rc = qmckl_set_ao_basis_shell_prim_num (context, shell_prim_num);
|
||||
assert(rc == QMCKL_SUCCESS);
|
||||
assert(!qmckl_ao_basis_provided(context));
|
||||
|
||||
rc = qmckl_set_ao_basis_shell_num (context, shell_num);
|
||||
assert(rc == QMCKL_SUCCESS);
|
||||
assert(!qmckl_ao_basis_provided(context));
|
||||
rc = qmckl_set_ao_basis_shell_prim_index (context, shell_prim_index);
|
||||
assert(rc == QMCKL_SUCCESS);
|
||||
assert(!qmckl_ao_basis_provided(context));
|
||||
|
||||
rc = qmckl_set_ao_basis_prim_num (context, prim_num);
|
||||
assert(rc == QMCKL_SUCCESS);
|
||||
assert(!qmckl_ao_basis_provided(context));
|
||||
rc = qmckl_set_ao_basis_exponent (context, exponent);
|
||||
assert(rc == QMCKL_SUCCESS);
|
||||
assert(!qmckl_ao_basis_provided(context));
|
||||
|
||||
rc = qmckl_set_ao_basis_shell_center (context, shell_center);
|
||||
assert(rc == QMCKL_SUCCESS);
|
||||
assert(!qmckl_ao_basis_provided(context));
|
||||
rc = qmckl_set_ao_basis_coefficient (context, coefficient);
|
||||
assert(rc == QMCKL_SUCCESS);
|
||||
assert(!qmckl_ao_basis_provided(context));
|
||||
|
||||
rc = qmckl_set_ao_basis_shell_ang_mom (context, shell_ang_mom);
|
||||
assert(rc == QMCKL_SUCCESS);
|
||||
assert(!qmckl_ao_basis_provided(context));
|
||||
rc = qmckl_set_ao_basis_prim_factor (context, prim_factor);
|
||||
assert(rc == QMCKL_SUCCESS);
|
||||
assert(qmckl_ao_basis_provided(context));
|
||||
|
||||
rc = qmckl_set_ao_basis_shell_factor (context, shell_factor);
|
||||
assert(rc == QMCKL_SUCCESS);
|
||||
assert(!qmckl_ao_basis_provided(context));
|
||||
|
||||
rc = qmckl_set_ao_basis_shell_center (context, shell_prim_num);
|
||||
assert(rc == QMCKL_SUCCESS);
|
||||
assert(!qmckl_ao_basis_provided(context));
|
||||
|
||||
rc = qmckl_set_ao_basis_shell_prim_num (context, shell_prim_num);
|
||||
assert(rc == QMCKL_SUCCESS);
|
||||
assert(!qmckl_ao_basis_provided(context));
|
||||
|
||||
rc = qmckl_set_ao_basis_shell_prim_index (context, shell_prim_index);
|
||||
assert(rc == QMCKL_SUCCESS);
|
||||
assert(!qmckl_ao_basis_provided(context));
|
||||
|
||||
rc = qmckl_set_ao_basis_exponent (context, exponent);
|
||||
assert(rc == QMCKL_SUCCESS);
|
||||
assert(!qmckl_ao_basis_provided(context));
|
||||
|
||||
rc = qmckl_set_ao_basis_coefficient (context, coefficient);
|
||||
assert(rc == QMCKL_SUCCESS);
|
||||
assert(qmckl_ao_basis_provided(context));
|
||||
|
||||
#+end_src
|
||||
#+end_src
|
||||
|
||||
* Polynomial part
|
||||
** Powers of $x-X_i$
|
||||
|
@ -221,7 +221,7 @@ qmckl_context qmckl_context_create() {
|
||||
ctx->numprec.precision = QMCKL_DEFAULT_PRECISION;
|
||||
ctx->numprec.range = QMCKL_DEFAULT_RANGE;
|
||||
|
||||
ctx->ao_basis.uninitialized = (1 << 10) - 1;
|
||||
ctx->ao_basis.uninitialized = (1 << 11) - 1;
|
||||
ctx->nucleus.uninitialized = (1 << 4) - 1;
|
||||
ctx->electron.uninitialized = (1 << 3) - 1;
|
||||
|
||||
|
@ -1615,7 +1615,7 @@ qmckl_exit_code qmckl_provide_en_distance_rescaled(qmckl_context context)
|
||||
| qmckl_context | context | in | Global state |
|
||||
| int64_t | elec_num | in | Number of electrons |
|
||||
| int64_t | nucl_num | in | Number of nuclei |
|
||||
| double | rescale_factor_kappa_en | in | The factor for rescaled distances |
|
||||
| double | rescale_factor_kappa_en | in | The factor for rescaled distances |
|
||||
| int64_t | walk_num | in | Number of walkers |
|
||||
| double | elec_coord[walk_num][3][elec_num] | in | Electron coordinates |
|
||||
| double | nucl_coord[3][elec_num] | in | Nuclear coordinates |
|
||||
@ -1766,28 +1766,28 @@ assert(qmckl_nucleus_provided(context));
|
||||
|
||||
double en_distance_rescaled[walk_num][nucl_num][elec_num];
|
||||
|
||||
rc = qmckl_get_electron_en_distance_rescaled(context, &(en_distance[0][0][0]));
|
||||
rc = qmckl_get_electron_en_distance_rescaled(context, &(en_distance_rescaled[0][0][0]));
|
||||
assert (rc == QMCKL_SUCCESS);
|
||||
|
||||
// TODO: check exact values
|
||||
//// (e,n,w) in Fortran notation
|
||||
//// (1,1,1)
|
||||
//assert(fabs(en_distance[0][0][0] - 7.546738741619978) < 1.e-12);
|
||||
//assert(fabs(en_distance_rescaled[0][0][0] - 7.546738741619978) < 1.e-12);
|
||||
//
|
||||
//// (1,2,1)
|
||||
//assert(fabs(en_distance[0][1][0] - 8.77102435246984) < 1.e-12);
|
||||
//assert(fabs(en_distance_rescaled[0][1][0] - 8.77102435246984) < 1.e-12);
|
||||
//
|
||||
//// (2,1,1)
|
||||
//assert(fabs(en_distance[0][0][1] - 3.698922010513608) < 1.e-12);
|
||||
//assert(fabs(en_distance_rescaled[0][0][1] - 3.698922010513608) < 1.e-12);
|
||||
//
|
||||
//// (1,1,2)
|
||||
//assert(fabs(en_distance[1][0][0] - 5.824059436060509) < 1.e-12);
|
||||
//assert(fabs(en_distance_rescaled[1][0][0] - 5.824059436060509) < 1.e-12);
|
||||
//
|
||||
//// (1,2,2)
|
||||
//assert(fabs(en_distance[1][1][0] - 7.080482110317645) < 1.e-12);
|
||||
//assert(fabs(en_distance_rescaled[1][1][0] - 7.080482110317645) < 1.e-12);
|
||||
//
|
||||
//// (2,1,2)
|
||||
//assert(fabs(en_distance[1][0][1] - 3.1804527583077356) < 1.e-12);
|
||||
//assert(fabs(en_distance_rescaled[1][0][1] - 3.1804527583077356) < 1.e-12);
|
||||
|
||||
#+end_src
|
||||
|
||||
|
@ -527,36 +527,36 @@ F 1
|
||||
#define chbrclf_shell_num 72
|
||||
#define chbrclf_prim_num 297
|
||||
|
||||
chbrclf_basis_shell_center[chbrclf_shell_num] =
|
||||
int64_t chbrclf_basis_shell_center[chbrclf_shell_num] =
|
||||
{1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3,
|
||||
3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
|
||||
4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5};
|
||||
|
||||
chbrclf_basis_shell_ang_mom[chbrclf_shell_num] =
|
||||
int32_t chbrclf_basis_shell_ang_mom[chbrclf_shell_num] =
|
||||
{0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 3, 3, 0, 0, 0, 0, 1, 1, 1, 2, 2, 0,
|
||||
0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 3, 3, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1,
|
||||
2, 2, 2, 3, 3, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3};
|
||||
|
||||
chbrclf_basis_shell_prim_index[chbrclf_shell_num] =
|
||||
int64_t chbrclf_basis_shell_prim_num[chbrclf_shell_num] =
|
||||
{10, 10, 1, 1, 1, 5, 1, 1, 1, 1, 1, 1, 1, 1, 5, 1, 1, 1, 1, 1, 1, 1, 1, 10,
|
||||
10, 1, 1, 1, 5, 1, 1, 1, 1, 1, 1, 1, 1, 15, 15, 15, 1, 1, 1, 9, 9, 1, 1, 1,
|
||||
1, 1, 1, 1, 1, 20, 20, 20, 20, 1, 1, 1, 13, 13, 13, 1, 1, 1, 8, 1, 1, 1, 1,
|
||||
1};
|
||||
|
||||
int64_t chbrclf_basis_shell_prim_index[chbrclf_shell_num] =
|
||||
{1, 11, 21, 22, 23, 24, 29, 30, 31, 32, 33, 34, 35, 36, 37, 42, 43, 44, 45,
|
||||
46, 47, 48, 49, 50, 60, 70, 71, 72, 73, 78, 79, 80, 81, 82, 83, 84, 85, 86,
|
||||
101, 116, 131, 132, 133, 134, 143, 152, 153, 154, 155, 156, 157, 158, 159,
|
||||
160, 180, 200, 220, 240, 241, 242, 243, 256, 269, 282, 283, 284, 285, 293,
|
||||
294, 295, 296, 297};
|
||||
|
||||
chbrclf_basis_shell_prim_num[chbrclf_shell_num] =
|
||||
{10, 10, 1, 1, 1, 5, 1, 1, 1, 1, 1, 1, 1, 1, 5, 1, 1, 1, 1, 1, 1, 1, 1, 10,
|
||||
10, 1, 1, 1, 5, 1, 1, 1, 1, 1, 1, 1, 1, 15, 15, 15, 1, 1, 1, 9, 9, 1, 1, 1,
|
||||
1, 1, 1, 1, 1, 20, 20, 20, 20, 1, 1, 1, 13, 13, 13, 1, 1, 1, 8, 1, 1, 1, 1,
|
||||
1};
|
||||
|
||||
chbrclf_basis_shell_factor[chbrclf_shell_num] =
|
||||
double chbrclf_basis_shell_factor[chbrclf_shell_num] =
|
||||
{1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.,
|
||||
1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.,
|
||||
1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.,
|
||||
1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.};
|
||||
|
||||
chbrclf_basis_exponent[chbrclf_prim_num] =
|
||||
double chbrclf_basis_exponent[chbrclf_prim_num] =
|
||||
{8.2360000000000000e+03, 1.2350000000000000e+03, 2.8080000000000001e+02,
|
||||
7.9269999999999996e+01, 2.5590000000000000e+01, 8.9969999999999999e+00,
|
||||
3.3190000000000000e+00, 9.0590000000000004e-01, 3.6430000000000001e-01,
|
||||
@ -657,7 +657,7 @@ chbrclf_basis_exponent[chbrclf_prim_num] =
|
||||
7.0618999999999998e-01, 7.0618999999999998e-01, 2.6390000000000002e-01,
|
||||
1.0470000000000000e-01, 5.5149999999999999e-01, 2.5800000000000001e-01};
|
||||
|
||||
chbrclf_basis_coefficient[chbrclf_prim_num] =
|
||||
double chbrclf_basis_coefficient[chbrclf_prim_num] =
|
||||
{5.3100000000000000e-04, 4.1079999999999997e-03, 2.1087000000000002e-02,
|
||||
8.1852999999999995e-02, 2.3481700000000000e-01, 4.3440099999999998e-01,
|
||||
3.4612900000000002e-01, 3.9378000000000003e-02, -8.9829999999999997e-03,
|
||||
@ -758,7 +758,7 @@ chbrclf_basis_coefficient[chbrclf_prim_num] =
|
||||
7.4396699999999996e-02, 1.0000000000000000e+00, 1.0000000000000000e+00,
|
||||
1.0000000000000000e+00, 1.0000000000000000e+00, 1.0000000000000000e+00};
|
||||
|
||||
chbrclf_basis_prim_factor[chbrclf_prim_num] =
|
||||
double chbrclf_basis_prim_factor[chbrclf_prim_num] =
|
||||
{6.1616545431994848e+02, 1.4847738511079908e+02, 4.8888635917437597e+01,
|
||||
1.8933972232608955e+01, 8.1089160941724145e+00, 3.7024003863155635e+00,
|
||||
1.7525302846177560e+00, 6.6179013183966806e-01, 3.3419848027174592e-01,
|
||||
|
Loading…
Reference in New Issue
Block a user