Details
-
Type:
Bug
-
Status: Closed (View Workflow)
-
Priority:
High
-
Resolution: Fixed
-
Affects Version/s: 6.04/02, 6.08/02
-
Fix Version/s: 6.10/00
-
Component/s: Math Libraries
-
Labels:None
-
Environment:
SLC6 and MacOS
Description
The following commands
root [0] ROOT::Math::Interpolator i({0.5, 1.5, 2.5}, {0.0, 1.0, 0.0})
|
(ROOT::Math::Interpolator &) @0x7fbe1d826040
|
root [1] i.Eval(3.0)
|
Warning in <ROOT::Math::GSLInterpolator::Eval>: input domain error
|
(double) 0.000000
|
root [2] i.Eval(3.0)
|
Warning in <ROOT::Math::GSLInterpolator::Eval>: input domain error
|
(double) 0.000000
|
root [3] i.Eval(3.0)
|
Warning in <ROOT::Math::GSLInterpolator::Eval>: input domain error
|
(double) 0.000000
|
root [4] i.Eval(3.0)
|
Warning in <ROOT::Math::GSLInterpolator::Eval>: input domain error
|
(double) 0.000000
|
root [5] i.Eval(3.0)
|
(double) 0.000000
|
stop printing further warnings after four warnings were printed. It seems as if in such a case there also should be a warning about further warnings being suppressed in math/mathmore/src/GSLInterpolator.h lines 85, 102, 118, and 135. However, this warning is never actually printed, as the corresponding case in the if statements can never be reached.
if(nErrors < 5)
|
MATH_WARN_MSG("GSLInterpolator::Eval",gsl_strerror(ierr) ) //Trying to suppress errors B Zimmerman 11-11-11
|
else if(nErrors == 4)
|
MATH_WARN_MSG("GSLInterpolator::Eval","Suppressing additional warnings");
|
Could this be replaced by something like for example
if(nErrors <= 4) {
|
MATH_WARN_MSG("GSLInterpolator::Eval",gsl_strerror(ierr) ) //Trying to suppress errors B Zimmerman 11-11-11
|
if(nErrors == 4)
|
MATH_WARN_MSG("GSLInterpolator::Eval","Suppressing additional warnings");
|
}
|
The expected output would be:
root [0] ROOT::Math::Interpolator i({0.5, 1.5, 2.5}, {0.0, 1.0, 0.0})
|
(ROOT::Math::Interpolator &) @0x7fbe1d826040
|
root [1] i.Eval(3.0)
|
Warning in <ROOT::Math::GSLInterpolator::Eval>: input domain error
|
(double) 0.000000
|
root [2] i.Eval(3.0)
|
Warning in <ROOT::Math::GSLInterpolator::Eval>: input domain error
|
(double) 0.000000
|
root [3] i.Eval(3.0)
|
Warning in <ROOT::Math::GSLInterpolator::Eval>: input domain error
|
(double) 0.000000
|
root [4] i.Eval(3.0)
|
Warning in <ROOT::Math::GSLInterpolator::Eval>: input domain error
|
Warning in <ROOT::Math::GSLInterpolator::Eval>: Suppressing additional warnings
|
(double) 0.000000
|
root [5] i.Eval(3.0)
|
(double) 0.000000
|