Skip to content

Commit efb9ca3

Browse files
committed
[Minuit2] Merge MnTiny into MnMachinePrecision implementation details
The `MnTiny` class was a tiny class that was only used inside `MnMachinePrecision`.
1 parent eaa1530 commit efb9ca3

File tree

6 files changed

+17
-70
lines changed

6 files changed

+17
-70
lines changed

math/minuit2/CMakeLists.txt

-2
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,6 @@ if(CMAKE_PROJECT_NAME STREQUAL ROOT)
8484
Minuit2/MnSeedGenerator.h
8585
Minuit2/MnSimplex.h
8686
Minuit2/MnStrategy.h
87-
Minuit2/MnTiny.h
8887
Minuit2/MnTraceObject.h
8988
Minuit2/MnUserCovariance.h
9089
Minuit2/MnUserFcn.h
@@ -149,7 +148,6 @@ if(CMAKE_PROJECT_NAME STREQUAL ROOT)
149148
src/MnScan.cxx
150149
src/MnSeedGenerator.cxx
151150
src/MnStrategy.cxx
152-
src/MnTiny.cxx
153151
src/MnTraceObject.cxx
154152
src/MnUserFcn.cxx
155153
src/MnUserParameterState.cxx

math/minuit2/inc/Minuit2/MnMachinePrecision.h

+4
Original file line numberDiff line numberDiff line change
@@ -52,8 +52,12 @@ class MnMachinePrecision {
5252
void ComputePrecision();
5353

5454
private:
55+
double One() const;
56+
double Tiny(double epsp1) const;
57+
5558
double fEpsMac;
5659
double fEpsMa2;
60+
double fOne = 1.;
5761
};
5862

5963
} // namespace Minuit2

math/minuit2/inc/Minuit2/MnTiny.h

-32
This file was deleted.

math/minuit2/src/CMakeLists.txt

-2
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,6 @@ set(MINUIT2_HEADERS
7474
MnSeedGenerator.h
7575
MnSimplex.h
7676
MnStrategy.h
77-
MnTiny.h
7877
MnTraceObject.h
7978
MnUserCovariance.h
8079
MnUserFcn.h
@@ -138,7 +137,6 @@ set(MINUIT2_SOURCES
138137
MnScan.cxx
139138
MnSeedGenerator.cxx
140139
MnStrategy.cxx
141-
MnTiny.cxx
142140
MnTraceObject.cxx
143141
MnUserFcn.cxx
144142
MnUserParameterState.cxx

math/minuit2/src/MnMachinePrecision.cxx

+13-4
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@
88
**********************************************************************/
99

1010
#include "Minuit2/MnMachinePrecision.h"
11-
#include "Minuit2/MnTiny.h"
1211
#include <limits>
1312

1413
namespace ROOT {
@@ -39,8 +38,6 @@ void MnMachinePrecision::ComputePrecision()
3938
fEpsMa2 = 2.*std::sqrt(fEpsMac);
4039
*/
4140

42-
MnTiny mytiny;
43-
4441
// calculate machine precision
4542
double epstry = 0.5;
4643
double epsbak = 0.;
@@ -49,7 +46,7 @@ void MnMachinePrecision::ComputePrecision()
4946
for (int i = 0; i < 100; i++) {
5047
epstry *= 0.5;
5148
epsp1 = one + epstry;
52-
epsbak = mytiny(epsp1);
49+
epsbak = Tiny(epsp1);
5350
if (epsbak < epstry) {
5451
fEpsMac = 8. * epstry;
5552
fEpsMa2 = 2. * std::sqrt(fEpsMac);
@@ -58,6 +55,18 @@ void MnMachinePrecision::ComputePrecision()
5855
}
5956
}
6057

58+
double MnMachinePrecision::One() const
59+
{
60+
return fOne;
61+
}
62+
63+
double MnMachinePrecision::Tiny(double epsp1) const
64+
{
65+
// evaluate minimal difference between two floating points
66+
double result = epsp1 - One();
67+
return result;
68+
}
69+
6170
} // namespace Minuit2
6271

6372
} // namespace ROOT

math/minuit2/src/MnTiny.cxx

-30
This file was deleted.

0 commit comments

Comments
 (0)