mirror of
https://github.com/TREX-CoE/qmckl.git
synced 2025-04-30 04:15:00 +02:00
Try to solve qmckl_malloc
This commit is contained in:
parent
45efa5cb5e
commit
2ec57f996a
@ -1199,7 +1199,7 @@ qmckl_get_electron_en_distance(qmckl_context context,
|
||||
"distance is a null pointer");
|
||||
}
|
||||
|
||||
size_t sze = ctx->point.num * ctx->nucleus.num;
|
||||
int64_t sze = ctx->point.num * ctx->nucleus.num;
|
||||
if (size_max < sze) {
|
||||
return qmckl_failwith( context,
|
||||
QMCKL_INVALID_ARG_3,
|
||||
|
@ -112,8 +112,10 @@ typedef struct qmckl_jastrow_champ_single_struct{
|
||||
double * restrict een_rescaled_single_n_gl;
|
||||
uint64_t een_rescaled_single_n_gl_date;
|
||||
double* delta_p_gl;
|
||||
uint64_t delta_p_gl_maxsize;
|
||||
uint64_t delta_p_gl_date;
|
||||
double* delta_een_gl;
|
||||
uint64_t delta_een_gl_maxsize;
|
||||
uint64_t delta_een_gl_date;
|
||||
double* delta_een_g;
|
||||
uint64_t delta_een_g_date;
|
||||
@ -3156,7 +3158,11 @@ qmckl_exit_code qmckl_provide_jastrow_champ_delta_p_gl(qmckl_context context)
|
||||
/* Compute if necessary */
|
||||
if (ctx->single_point.date > ctx->single_point.delta_p_gl_date) {
|
||||
|
||||
if (ctx->electron.walker.num > ctx->electron.walker_old.num) {
|
||||
qmckl_memory_info_struct mem_info = qmckl_memory_info_struct_zero;
|
||||
mem_info.size = 4 * ctx->electron.walker.num * ctx->jastrow_champ.cord_num *
|
||||
(ctx->jastrow_champ.cord_num + 1) * ctx->nucleus.num * ctx->electron.num * sizeof(double);
|
||||
|
||||
if (mem_info.size > ctx->single_point.delta_p_gl_maxsize) {
|
||||
if (ctx->single_point.delta_p_gl != NULL) {
|
||||
rc = qmckl_free(context, ctx->single_point.delta_p_gl);
|
||||
if (rc != QMCKL_SUCCESS) {
|
||||
@ -3171,10 +3177,8 @@ qmckl_exit_code qmckl_provide_jastrow_champ_delta_p_gl(qmckl_context context)
|
||||
/* Allocate array */
|
||||
if (ctx->single_point.delta_p_gl == NULL) {
|
||||
|
||||
qmckl_memory_info_struct mem_info = qmckl_memory_info_struct_zero;
|
||||
mem_info.size = 4 * ctx->electron.walker.num * ctx->jastrow_champ.cord_num *
|
||||
(ctx->jastrow_champ.cord_num + 1) * ctx->nucleus.num * ctx->electron.num * sizeof(double);
|
||||
double* delta_p_gl = (double*) qmckl_malloc(context, mem_info);
|
||||
ctx->single_point.delta_p_gl_maxsize = mem_info.size;
|
||||
|
||||
if (delta_p_gl == NULL) {
|
||||
return qmckl_failwith( context,
|
||||
@ -3551,7 +3555,10 @@ qmckl_exit_code qmckl_provide_jastrow_champ_single_een_gl(qmckl_context context)
|
||||
/* Compute if necessary */
|
||||
if (ctx->single_point.date > ctx->single_point.delta_een_gl_date) {
|
||||
|
||||
if (ctx->electron.walker.num > ctx->electron.walker_old.num) {
|
||||
qmckl_memory_info_struct mem_info = qmckl_memory_info_struct_zero;
|
||||
mem_info.size = 4 * ctx->electron.num * ctx->electron.walker.num * sizeof(double);
|
||||
|
||||
if (mem_info.size > ctx->single_point.delta_een_gl_maxsize) {
|
||||
if (ctx->single_point.delta_een_gl != NULL) {
|
||||
rc = qmckl_free(context, ctx->single_point.delta_een_gl);
|
||||
if (rc != QMCKL_SUCCESS) {
|
||||
@ -3566,9 +3573,8 @@ qmckl_exit_code qmckl_provide_jastrow_champ_single_een_gl(qmckl_context context)
|
||||
/* Allocate array */
|
||||
if (ctx->single_point.delta_een_gl == NULL) {
|
||||
|
||||
qmckl_memory_info_struct mem_info = qmckl_memory_info_struct_zero;
|
||||
mem_info.size = 4 * ctx->electron.num * ctx->electron.walker.num * sizeof(double);
|
||||
double* delta_een_gl = (double*) qmckl_malloc(context, mem_info);
|
||||
ctx->single_point.delta_een_gl_maxsize = mem_info.size;
|
||||
|
||||
if (delta_een_gl == NULL) {
|
||||
return qmckl_failwith( context,
|
||||
|
Loading…
x
Reference in New Issue
Block a user