diff --git a/compute/zgered.c b/compute/zgered.c index f3783ad3446449be36eb5e0b9f0015ef2a249c60..a58e8f145fa459861008e8600852e9c06878c40f 100644 --- a/compute/zgered.c +++ b/compute/zgered.c @@ -13,7 +13,7 @@ * * @version 1.3.0 * @author Mathieu Faverge - * @date 2023-07-06 + * @date 2024-07-17 * @precisions normal z -> z d * */ @@ -166,6 +166,15 @@ int CHAMELEON_zgered_Tile_Async( cham_uplo_t uplo, double precision, CHAM_desc_t return CHAMELEON_SUCCESS; } + if ( precision < 0. ) { + char *algostr = chameleon_getenv( "CHAMELEON_GERED_ACC" ); + if ( algostr == NULL ) { + precision = 1e-12; + } + else { + precision = strtod( algostr, NULL ); + } + } chameleon_pzgered( uplo, precision, A, sequence, request ); return CHAMELEON_SUCCESS; diff --git a/compute/zhered.c b/compute/zhered.c index 5603ea68b5af7c3b3c013484de60732f47ba372b..32e5c81570689af3e95b69bf65d5129195d76b1d 100644 --- a/compute/zhered.c +++ b/compute/zhered.c @@ -167,6 +167,15 @@ int CHAMELEON_zhered_Tile_Async( cham_uplo_t uplo, double precision, CHAM_desc_t return CHAMELEON_SUCCESS; } + if ( precision < 0. ) { + char *algostr = chameleon_getenv( "CHAMELEON_GERED_ACC" ); + if ( algostr == NULL ) { + precision = 1e-12; + } + else { + precision = strtod( algostr, NULL ); + } + } chameleon_pzhered( ChamConjTrans, uplo, precision, A, sequence, request ); return CHAMELEON_SUCCESS;