From c09f6e5e3bc9ec10c555ced1c6885a4becf6836d Mon Sep 17 00:00:00 2001 From: Hans Pabst Date: Thu, 16 Oct 2025 08:35:46 +0200 Subject: [PATCH] Ensure ceiling of size if originated as real value --- src/fm/cp_fm_diag.F | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/src/fm/cp_fm_diag.F b/src/fm/cp_fm_diag.F index d10d482f93..557ae44b8e 100644 --- a/src/fm/cp_fm_diag.F +++ b/src/fm/cp_fm_diag.F @@ -78,7 +78,6 @@ MODULE cp_fm_diag #include "../base/base_uses.f90" IMPLICIT NONE - PRIVATE CHARACTER(len=*), PARAMETER, PRIVATE :: moduleN = 'cp_fm_diag' @@ -500,7 +499,7 @@ CONTAINS END IF ! Reallocate work arrays and perform diagonalisation - lwork = INT(work(1)) + lwork = NINT(work(1)) ALLOCATE (work(lwork)) liwork = iwork(1) @@ -947,7 +946,7 @@ CONTAINS CALL cp_fm_error("ERROR in PDGESVD: Work space query failed", myinfo, PRESENT(info)) END IF - lwork = INT(work(1)) + lwork = NINT(work(1)) ALLOCATE (work(lwork)) CALL pdgesvd('V', 'V', m, m, matrix_lu%local_data, 1, 1, desca, eigval, matrix_eigvl%local_data, & @@ -965,8 +964,7 @@ CONTAINS CALL cp_fm_error("ERROR in DGESVD: Work space query failed", myinfo, PRESENT(info)) END IF - ! SVD - lwork = INT(work(1)) + lwork = NINT(work(1)) ALLOCATE (work(lwork)) CALL dgesvd('S', 'S', m, m, matrix_lu%local_data, m, eigval, matrix_eigvl%local_data, &