From 1ab24ef257accda4599d956f61fe8e7a84792493 Mon Sep 17 00:00:00 2001 From: Daniel Black Date: Thu, 1 Dec 2016 16:17:33 +1100 Subject: [PATCH] Use logic to change multiple checks to a single check my_isinf(square) || my_isnan(square) -> !my_isfinite(square) Signed-off-by: Daniel Black --- sql/item_func.cc | 2 +- sql/item_strfunc.cc | 2 +- storage/innobase/gis/gis0rtree.cc | 2 +- storage/myisam/rt_split.c | 4 ++-- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/sql/item_func.cc b/sql/item_func.cc index a51b8df..dd49eda 100644 --- a/sql/item_func.cc +++ b/sql/item_func.cc @@ -3306,7 +3306,7 @@ double my_double_round(double value, longlong dec, bool dec_unsigned, if (dec_negative && my_isinf(tmp)) tmp2= 0.0; else if (!dec_negative && - (my_isinf(value_mul_tmp) || my_isnan(value_mul_tmp))) + (!my_isfinite(value_mul_tmp))) tmp2= value; else if (truncate) { diff --git a/sql/item_strfunc.cc b/sql/item_strfunc.cc index 0e969af..74ca42b 100644 --- a/sql/item_strfunc.cc +++ b/sql/item_strfunc.cc @@ -3189,7 +3189,7 @@ String *Item_func_format::val_str_ascii(String *str) return 0; /* purecov: inspected */ nr= my_double_round(nr, (longlong) dec, FALSE, FALSE); str->set_real(nr, dec, &my_charset_numeric); - if (my_isnan(nr) || my_isinf(nr)) + if (!my_isfinite(nr)) return str; str_length=str->length(); } diff --git a/storage/innobase/gis/gis0rtree.cc b/storage/innobase/gis/gis0rtree.cc index ee89e0a..c4636224 100644 --- a/storage/innobase/gis/gis0rtree.cc +++ b/storage/innobase/gis/gis0rtree.cc @@ -1988,7 +1988,7 @@ rtr_estimate_n_rows_in_range( mtr_commit(&mtr); mem_heap_free(heap); - if (my_isinf(area) || my_isnan(area)) { + if (!my_isfinite(area)) { return(HA_POS_ERROR); } diff --git a/storage/myisam/rt_split.c b/storage/myisam/rt_split.c index 8d6b226..80465e6 100644 --- a/storage/myisam/rt_split.c +++ b/storage/myisam/rt_split.c @@ -65,8 +65,8 @@ static double mbr_join_square(const double *a, const double *b, int n_dim) b += 2; }while (a != end); - /* Check for infinity or NaN */ - if (my_isinf(square) || my_isnan(square)) + /* Check if finite (not infinity or NaN) */ + if (!my_isfinite(square)) square = DBL_MAX; return square;