From 99bd8468fb1a2bf3af0909bc009632e1c60deea7 Mon Sep 17 00:00:00 2001 From: Fredrik Johansson Date: Sat, 20 Jul 2024 15:32:59 +0200 Subject: [PATCH] fixup logic --- src/gr/acf.c | 21 ++++++++------------- src/nfloat/complex.c | 21 ++++++++------------- 2 files changed, 16 insertions(+), 26 deletions(-) diff --git a/src/gr/acf.c b/src/gr/acf.c index dc5be3b228..8d0f7c08fe 100644 --- a/src/gr/acf.c +++ b/src/gr/acf.c @@ -686,6 +686,11 @@ _gr_acf_cmpabs(int * res, const acf_t x, const acf_t y, const gr_ctx_t ctx) return _gr_arf_cmpabs(res, a, c, ctx); if (arf_is_zero(c)) return _gr_arf_cmpabs(res, a, d, ctx); + if (arf_is_zero(a)) + { + *res = -1; + return GR_SUCCESS; + } } if (arf_is_zero(a)) @@ -696,20 +701,10 @@ _gr_acf_cmpabs(int * res, const acf_t x, const acf_t y, const gr_ctx_t ctx) return _gr_arf_cmpabs(res, b, d, ctx); } - if (arf_is_zero(c)) + if (arf_is_zero(c) && arf_is_zero(d)) { - if (arf_is_zero(a)) - return _gr_arf_cmpabs(res, b, d, ctx); - if (arf_is_zero(b)) - return _gr_arf_cmpabs(res, a, d, ctx); - } - - if (arf_is_zero(d)) - { - if (arf_is_zero(a)) - return _gr_arf_cmpabs(res, b, c, ctx); - if (arf_is_zero(b)) - return _gr_arf_cmpabs(res, a, c, ctx); + *res = 1; + return GR_SUCCESS; } if (ARF_IS_LAGOM(a) && ARF_IS_LAGOM(b) && ARF_IS_LAGOM(c) && ARF_IS_LAGOM(d)) diff --git a/src/nfloat/complex.c b/src/nfloat/complex.c index 8b38bd81cb..e9fff75bbd 100644 --- a/src/nfloat/complex.c +++ b/src/nfloat/complex.c @@ -1566,6 +1566,11 @@ nfloat_complex_cmpabs(int * res, nfloat_complex_srcptr x, nfloat_complex_srcptr return nfloat_cmpabs(res, a, c, ctx); if (NFLOAT_IS_ZERO(c)) return nfloat_cmpabs(res, a, d, ctx); + if (NFLOAT_IS_ZERO(a)) + { + *res = -1; + return GR_SUCCESS; + } } if (NFLOAT_IS_ZERO(a)) @@ -1576,20 +1581,10 @@ nfloat_complex_cmpabs(int * res, nfloat_complex_srcptr x, nfloat_complex_srcptr return nfloat_cmpabs(res, b, d, ctx); } - if (NFLOAT_IS_ZERO(c)) - { - if (NFLOAT_IS_ZERO(a)) - return nfloat_cmpabs(res, b, d, ctx); - if (NFLOAT_IS_ZERO(b)) - return nfloat_cmpabs(res, a, d, ctx); - } - - if (NFLOAT_IS_ZERO(d)) + if (NFLOAT_IS_ZERO(c) && NFLOAT_IS_ZERO(d)) { - if (NFLOAT_IS_ZERO(a)) - return nfloat_cmpabs(res, b, c, ctx); - if (NFLOAT_IS_ZERO(b)) - return nfloat_cmpabs(res, a, c, ctx); + *res = 1; + return GR_SUCCESS; } aexp = NFLOAT_EXP(a);