Changeset: dfe3bc75fbae for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/dfe3bc75fbae
Modified Files:
        gdk/gdk_calc.c
        gdk/gdk_calc_convert.c
        gdk/gdk_calc_muldiv.c
        gdk/gdk_calc_private.h
Branch: default
Log Message:

Merge with Jan2022 branch.


diffs (78 lines):

diff --git a/gdk/gdk_calc_convert.c b/gdk/gdk_calc_convert.c
--- a/gdk/gdk_calc_convert.c
+++ b/gdk/gdk_calc_convert.c
@@ -443,7 +443,8 @@ convert_##TYPE1##_##TYPE2(const TYPE1 *s
                                dst[i] = TYPE2##_nil;                   \
                                nils++;                                 \
                        } else {                                        \
-                               dst[i] = (TYPE2) round##TYPE1(v * mul); \
+                               long double m = (long double) v * mul;  \
+                               dst[i] = (TYPE2) rounddbl(m);           \
                                if ((is_##TYPE2##_nil(dst[i]) ||        \
                                     (precision &&                      \
                                      (dst[i] >= prec ||                \
@@ -466,7 +467,8 @@ convert_##TYPE1##_##TYPE2(const TYPE1 *s
                                dst[i] = TYPE2##_nil;                   \
                                nils++;                                 \
                        } else {                                        \
-                               dst[i] = (TYPE2) round##TYPE1(v * mul); \
+                               long double m = (long double) v * mul;  \
+                               dst[i] = (TYPE2) rounddbl(m);           \
                                if ((is_##TYPE2##_nil(dst[i]) ||        \
                                     (precision &&                      \
                                      (dst[i] >= prec ||                \
diff --git a/gdk/gdk_calc_muldiv.c b/gdk/gdk_calc_muldiv.c
--- a/gdk/gdk_calc_muldiv.c
+++ b/gdk/gdk_calc_muldiv.c
@@ -360,7 +360,7 @@ mul_##TYPE1##_##TYPE2##_##TYPE3(                            
        \
                                dst[k] = TYPE3##_nil;                   \
                                nils++;                                 \
                        } else {                                        \
-                               double m = lft[i] * rgt[j];             \
+                               long double m = lft[i] * (long double) rgt[j]; \
                                dst[k] = (TYPE3) rounddbl(m);           \
                        }                                               \
                }                                                       \
@@ -382,7 +382,7 @@ mul_##TYPE1##_##TYPE2##_##TYPE3(                            
        \
                                dst[k] = TYPE3##_nil;                   \
                                nils++;                                 \
                        } else {                                        \
-                               double m = lft[i] * rgt[j];             \
+                               long double m = lft[i] * (long double) rgt[j]; \
                                dst[k] = (TYPE3) rounddbl(m);           \
                        }                                               \
                }                                                       \
@@ -2674,8 +2674,7 @@ div_##TYPE1##_##TYPE2##_##TYPE3(                          
        \
                                        dst[k] = TYPE3##_nil;           \
                                        nils++;                         \
                                } else {                                \
-                                       m = lft[i] / rgt[j];            \
-                                       dst[k] = (TYPE3) rounddbl(m);   \
+                                       dst[k] = (TYPE3) rounddbl(lft[i] / 
(long double) rgt[j]); \
                                }                                       \
                        }                                               \
                }                                                       \
@@ -2705,8 +2704,7 @@ div_##TYPE1##_##TYPE2##_##TYPE3(                          
        \
                                        dst[k] = TYPE3##_nil;           \
                                        nils++;                         \
                                } else {                                \
-                                       m = lft[i] / rgt[j];            \
-                                       dst[k] = (TYPE3) rounddbl(m);   \
+                                       dst[k] = (TYPE3) rounddbl(lft[i] / 
(long double) rgt[j]); \
                                }                                       \
                        }                                               \
                }                                                       \
diff --git a/gdk/gdk_calc_private.h b/gdk/gdk_calc_private.h
--- a/gdk/gdk_calc_private.h
+++ b/gdk/gdk_calc_private.h
@@ -652,9 +652,7 @@ BUN dofsum(const void *restrict values, 
        } while (0)
 
 #ifdef TRUNCATE_NUMBERS
-#define roundflt(x)    (x)
 #define rounddbl(x)    (x)
 #else
-#define roundflt(x)    roundf(x)
-#define rounddbl(x)    round(x)
+#define rounddbl(x)    roundl(x)
 #endif
_______________________________________________
checkin-list mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to