Changeset: 260531300b28 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=260531300b28
Modified Files:
        monetdb5/modules/kernel/batmmath.c
        monetdb5/modules/kernel/mmath.c
Branch: Jul2017
Log Message:

We don't really care much about underflow, so remove checks.


diffs (112 lines):

diff --git a/monetdb5/modules/kernel/batmmath.c 
b/monetdb5/modules/kernel/batmmath.c
--- a/monetdb5/modules/kernel/batmmath.c
+++ b/monetdb5/modules/kernel/batmmath.c
@@ -26,7 +26,6 @@
 #define FE_INVALID                     0
 #define FE_DIVBYZERO           0
 #define FE_OVERFLOW                    0
-#define FE_UNDERFLOW           0
 #endif
 
 #define voidresultBAT(X1,X2)                                                   
                \
@@ -68,7 +67,7 @@ str CMDscience_bat_##TYPE##_##FUNC(bat *
        }                                                                       
                                                        \
        if ((e = errno) != 0 ||                                                 
                                \
                (ex = fetestexcept(FE_INVALID | FE_DIVBYZERO |                  
        \
-                                                  FE_OVERFLOW | FE_UNDERFLOW)) 
!= 0) {         \
+                                                  FE_OVERFLOW)) != 0) {        
                                \
                const char *err;                                                
                                        \
                BBPunfix(bn->batCacheid);                                       
                                \
                if (e) {                                                        
                                                \
@@ -77,8 +76,6 @@ str CMDscience_bat_##TYPE##_##FUNC(bat *
                        err = "Divide by zero";                                 
                                \
                else if (ex & FE_OVERFLOW)                                      
                                \
                        err = "Overflow";                                       
                                        \
-               else if (ex & FE_UNDERFLOW)                                     
                                \
-                       err = "Underflow";                                      
                                        \
                else                                                            
                                                \
                        err = "Invalid result";                                 
                                \
                throw(MAL, "batmmath." #FUNC, "Math exception: %s", err);       
\
@@ -121,7 +118,7 @@ str CMDscience_bat_cst_##FUNC##_##TYPE(b
        }                                                                       
                                                                \
        if ((e = errno) != 0 ||                                                 
                                        \
                (ex = fetestexcept(FE_INVALID | FE_DIVBYZERO |                  
                \
-                                                  FE_OVERFLOW | FE_UNDERFLOW)) 
!= 0) {                 \
+                                                  FE_OVERFLOW)) != 0) {        
                                        \
                const char *err;                                                
                                                \
                BBPunfix(bn->batCacheid);                                       
                                        \
                if (e) {                                                        
                                                        \
@@ -130,8 +127,6 @@ str CMDscience_bat_cst_##FUNC##_##TYPE(b
                        err = "Divide by zero";                                 
                                        \
                else if (ex & FE_OVERFLOW)                                      
                                        \
                        err = "Overflow";                                       
                                                \
-               else if (ex & FE_UNDERFLOW)                                     
                                        \
-                       err = "Underflow";                                      
                                                \
                else                                                            
                                                        \
                        err = "Invalid result";                                 
                                        \
                throw(MAL, "batmmath." #FUNC, "Math exception: %s", err);       
        \
@@ -173,7 +168,7 @@ str CMDscience_cst_bat_##FUNC##_##TYPE(b
        }                                                                       
                                                                \
        if ((e = errno) != 0 ||                                                 
                                        \
                (ex = fetestexcept(FE_INVALID | FE_DIVBYZERO |                  
                \
-                                                  FE_OVERFLOW | FE_UNDERFLOW)) 
!= 0) {                 \
+                                                  FE_OVERFLOW)) != 0) {        
                                        \
                const char *err;                                                
                                                \
                BBPunfix(bn->batCacheid);                                       
                                        \
                if (e) {                                                        
                                                        \
@@ -182,8 +177,6 @@ str CMDscience_cst_bat_##FUNC##_##TYPE(b
                        err = "Divide by zero";                                 
                                        \
                else if (ex & FE_OVERFLOW)                                      
                                        \
                        err = "Overflow";                                       
                                                \
-               else if (ex & FE_UNDERFLOW)                                     
                                        \
-                       err = "Underflow";                                      
                                                \
                else                                                            
                                                        \
                        err = "Invalid result";                                 
                                        \
                throw(MAL, "batmmath." #FUNC, "Math exception: %s", err);       
        \
diff --git a/monetdb5/modules/kernel/mmath.c b/monetdb5/modules/kernel/mmath.c
--- a/monetdb5/modules/kernel/mmath.c
+++ b/monetdb5/modules/kernel/mmath.c
@@ -27,7 +27,6 @@
 #define FE_INVALID                     0
 #define FE_DIVBYZERO           0
 #define FE_OVERFLOW                    0
-#define FE_UNDERFLOW           0
 #endif
 
 #define cot(x)                         (1 / tan(x))
@@ -48,7 +47,7 @@ MATHunary##NAME##TYPE(TYPE *res , const 
                r = FUNC(a1);                                                   
                                        \
                if ((e = errno) != 0 ||                                         
                                \
                        (ex = fetestexcept(FE_INVALID | FE_DIVBYZERO |          
        \
-                                                          FE_OVERFLOW | 
FE_UNDERFLOW)) != 0) { \
+                                                          FE_OVERFLOW)) != 0) 
{                                \
                        const char *err;                                        
                                        \
                        if (e) {                                                
                                                \
                                err = strerror(e);                              
                                        \
@@ -56,8 +55,6 @@ MATHunary##NAME##TYPE(TYPE *res , const 
                                err = "Divide by zero";                         
                                \
                        else if (ex & FE_OVERFLOW)                              
                                \
                                err = "Overflow";                               
                                        \
-                       else if (ex & FE_UNDERFLOW)                             
                                \
-                               err = "Underflow";                              
                                        \
                        else                                                    
                                                \
                                err = "Invalid result";                         
                                \
                        throw(MAL, "mmath." #FUNC, "Math exception: %s", err);  
\
@@ -85,7 +82,7 @@ MATHbinary##NAME##TYPE(TYPE *res, const 
                r1 = FUNC(a1, b1);                                              
                                        \
                if ((e = errno) != 0 ||                                         
                                \
                        (ex = fetestexcept(FE_INVALID | FE_DIVBYZERO |          
        \
-                                                          FE_OVERFLOW | 
FE_UNDERFLOW)) != 0) { \
+                                                          FE_OVERFLOW)) != 0) 
{                                \
                        const char *err;                                        
                                        \
                        if (e) {                                                
                                                \
                                err = strerror(e);                              
                                        \
@@ -93,8 +90,6 @@ MATHbinary##NAME##TYPE(TYPE *res, const 
                                err = "Divide by zero";                         
                                \
                        else if (ex & FE_OVERFLOW)                              
                                \
                                err = "Overflow";                               
                                        \
-                       else if (ex & FE_UNDERFLOW)                             
                                \
-                               err = "Underflow";                              
                                        \
                        else                                                    
                                                \
                                err = "Invalid result";                         
                                \
                        throw(MAL, "mmath." #FUNC, "Math exception: %s", err);  
\
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to