@@ -166,9 +166,8 @@ TEST_F(FindRootAdditionalTest, RootAtX1) {
166166 y = x - 5.0 ;
167167 dy = 1.0 ;
168168 };
169- bool fail = false ;
170169 // y1 = 5-5 = 0, y2 = 10-5 = 5
171- double root = findRoot (func, 5.0 , 0.0 , 10.0 , 5.0 , 1e-10 , 100 , fail );
170+ auto [ root, fail] = findRoot (func, 5.0 , 0.0 , 10.0 , 5.0 , 1e-10 , 100 );
172171 EXPECT_FALSE (fail);
173172 EXPECT_NEAR (root, 5.0 , 1e-8 );
174173}
@@ -179,9 +178,8 @@ TEST_F(FindRootAdditionalTest, RootAtX2) {
179178 y = x - 5.0 ;
180179 dy = 1.0 ;
181180 };
182- bool fail = false ;
183181 // y1 = 0-5 = -5, y2 = 5-5 = 0
184- double root = findRoot (func, 0.0 , -5.0 , 5.0 , 0.0 , 1e-10 , 100 , fail );
182+ auto [ root, fail] = findRoot (func, 0.0 , -5.0 , 5.0 , 0.0 , 1e-10 , 100 );
185183 EXPECT_FALSE (fail);
186184 EXPECT_NEAR (root, 5.0 , 1e-8 );
187185}
@@ -192,9 +190,8 @@ TEST_F(FindRootAdditionalTest, BothPositiveFails) {
192190 y = x * x + 1.0 ;
193191 dy = 2.0 * x;
194192 };
195- bool fail = false ;
196193 // y1 = 2, y2 = 5 -- both positive
197- findRoot (func, 1.0 , 2.0 , 2.0 , 5.0 , 1e-10 , 100 , fail );
194+ auto [root_, fail] = findRoot (func, 1.0 , 2.0 , 2.0 , 5.0 , 1e-10 , 100 );
198195 EXPECT_TRUE (fail);
199196}
200197
@@ -204,8 +201,7 @@ TEST_F(FindRootAdditionalTest, BothNegativeFails) {
204201 y = -x * x - 1.0 ;
205202 dy = -2.0 * x;
206203 };
207- bool fail = false ;
208- findRoot (func, 1.0 , -2.0 , 2.0 , -5.0 , 1e-10 , 100 , fail);
204+ auto [root_, fail] = findRoot (func, 1.0 , -2.0 , 2.0 , -5.0 , 1e-10 , 100 );
209205 EXPECT_TRUE (fail);
210206}
211207
@@ -215,9 +211,8 @@ TEST_F(FindRootAdditionalTest, MaxIterationsExceeded) {
215211 y = x * x - 2.0 ;
216212 dy = 2.0 * x;
217213 };
218- bool fail = false ;
219214 // Very tight tolerance with only 1 iteration
220- findRoot (func, 0.0 , 3.0 , 1e-15 , 1 , fail );
215+ auto [root_, fail] = findRoot (func, 0.0 , 3.0 , 1e-15 , 1 );
221216 EXPECT_TRUE (fail);
222217}
223218
@@ -227,9 +222,8 @@ TEST_F(FindRootAdditionalTest, SwapWhenY1Positive) {
227222 y = x - 3.0 ;
228223 dy = 1.0 ;
229224 };
230- bool fail = false ;
231225 // y1 = 2.0 > 0, y2 = -2.0 < 0 => swap internally
232- double root = findRoot (func, 5.0 , 2.0 , 1.0 , -2.0 , 1e-10 , 100 , fail );
226+ auto [ root, fail] = findRoot (func, 5.0 , 2.0 , 1.0 , -2.0 , 1e-10 , 100 );
233227 EXPECT_FALSE (fail);
234228 EXPECT_NEAR (root, 3.0 , 1e-8 );
235229}
@@ -240,8 +234,7 @@ TEST_F(FindRootAdditionalTest, CubicRoot) {
240234 y = x * x * x - 8.0 ;
241235 dy = 3.0 * x * x;
242236 };
243- bool fail = false ;
244- double root = findRoot (func, 1.0 , 3.0 , 1e-10 , 100 , fail);
237+ auto [root, fail] = findRoot (func, 1.0 , 3.0 , 1e-10 , 100 );
245238 EXPECT_FALSE (fail);
246239 EXPECT_NEAR (root, 2.0 , 1e-8 );
247240}
@@ -252,8 +245,7 @@ TEST_F(FindRootAdditionalTest, TwoArgOverloadCubic) {
252245 y = x * x * x - 27.0 ;
253246 dy = 3.0 * x * x;
254247 };
255- bool fail = false ;
256- double root = findRoot (func, 2.0 , 4.0 , 1e-10 , 100 , fail);
248+ auto [root, fail] = findRoot (func, 2.0 , 4.0 , 1e-10 , 100 );
257249 EXPECT_FALSE (fail);
258250 EXPECT_NEAR (root, 3.0 , 1e-8 );
259251}
@@ -1503,9 +1495,8 @@ TEST_F(FindRootAdditionalTest, FlatDerivative) {
15031495 y = (x - 2.0 ) * (x - 2.0 ) * (x - 2.0 );
15041496 dy = 3.0 * (x - 2.0 ) * (x - 2.0 );
15051497 };
1506- bool fail = false ;
15071498 // y at x=1 = -1, y at x=3 = 1
1508- double root = findRoot (func, 1.0 , 3.0 , 1e-8 , 100 , fail );
1499+ auto [ root, fail] = findRoot (func, 1.0 , 3.0 , 1e-8 , 100 );
15091500 if (!fail) {
15101501 EXPECT_NEAR (root, 2.0 , 1e-4 );
15111502 }
@@ -1517,8 +1508,7 @@ TEST_F(FindRootAdditionalTest, LinearFunction) {
15171508 y = 2.0 * x - 6.0 ;
15181509 dy = 2.0 ;
15191510 };
1520- bool fail = false ;
1521- double root = findRoot (func, 0.0 , 10.0 , 1e-12 , 100 , fail);
1511+ auto [root, fail] = findRoot (func, 0.0 , 10.0 , 1e-12 , 100 );
15221512 EXPECT_FALSE (fail);
15231513 EXPECT_NEAR (root, 3.0 , 1e-8 );
15241514}
@@ -1529,9 +1519,8 @@ TEST_F(FindRootAdditionalTest, FourArgNormalBracket) {
15291519 y = x * x - 4.0 ;
15301520 dy = 2.0 * x;
15311521 };
1532- bool fail = false ;
15331522 // y1 = 1-4 = -3, y2 = 9-4 = 5
1534- double root = findRoot (func, 1.0 , -3.0 , 3.0 , 5.0 , 1e-10 , 100 , fail );
1523+ auto [ root, fail] = findRoot (func, 1.0 , -3.0 , 3.0 , 5.0 , 1e-10 , 100 );
15351524 EXPECT_FALSE (fail);
15361525 EXPECT_NEAR (root, 2.0 , 1e-8 );
15371526}
@@ -2092,9 +2081,8 @@ TEST_F(FindRootAdditionalTest, TightBoundsLinear) {
20922081 y = 2.0 * x - 6.0 ;
20932082 dy = 2.0 ;
20942083 };
2095- bool fail = false ;
20962084 // y1 = 2*2.9-6 = -0.2, y2 = 2*3.1-6 = 0.2
2097- double root = findRoot (func, 2.9 , -0.2 , 3.1 , 0.2 , 1e-10 , 100 , fail );
2085+ auto [ root, fail] = findRoot (func, 2.9 , -0.2 , 3.1 , 0.2 , 1e-10 , 100 );
20982086 EXPECT_FALSE (fail);
20992087 EXPECT_NEAR (root, 3.0 , 1e-8 );
21002088}
@@ -2106,8 +2094,7 @@ TEST_F(FindRootAdditionalTest, NewtonOutOfBracket) {
21062094 y = x * x * x - x - 2.0 ;
21072095 dy = 3.0 * x * x - 1.0 ;
21082096 };
2109- bool fail = false ;
2110- double root = findRoot (func, 1.0 , 2.0 , 1e-10 , 100 , fail);
2097+ auto [root, fail] = findRoot (func, 1.0 , 2.0 , 1e-10 , 100 );
21112098 EXPECT_FALSE (fail);
21122099 // Root is near 1.52138
21132100 EXPECT_NEAR (root, 1.52138 , 1e-4 );
@@ -2119,9 +2106,8 @@ TEST_F(FindRootAdditionalTest, SinRoot) {
21192106 y = sin (x);
21202107 dy = cos (x);
21212108 };
2122- bool fail = false ;
21232109 // Root near pi
2124- double root = findRoot (func, 3.0 , 3.3 , 1e-10 , 100 , fail );
2110+ auto [ root, fail] = findRoot (func, 3.0 , 3.3 , 1e-10 , 100 );
21252111 EXPECT_FALSE (fail);
21262112 EXPECT_NEAR (root, M_PI, 1e-8 );
21272113}
@@ -2132,8 +2118,7 @@ TEST_F(FindRootAdditionalTest, ExpMinusConst) {
21322118 y = exp (x) - 3.0 ;
21332119 dy = exp (x);
21342120 };
2135- bool fail = false ;
2136- double root = findRoot (func, 0.0 , 2.0 , 1e-10 , 100 , fail);
2121+ auto [root, fail] = findRoot (func, 0.0 , 2.0 , 1e-10 , 100 );
21372122 EXPECT_FALSE (fail);
21382123 EXPECT_NEAR (root, log (3.0 ), 1e-8 );
21392124}
@@ -2395,8 +2380,7 @@ TEST_F(FindRootAdditionalTest, QuadraticExact) {
23952380 y = x * x - 4.0 ;
23962381 dy = 2.0 * x;
23972382 };
2398- bool fail = false ;
2399- double root = findRoot (func, 1.0 , 3.0 , 1e-10 , 100 , fail);
2383+ auto [root, fail] = findRoot (func, 1.0 , 3.0 , 1e-10 , 100 );
24002384 EXPECT_FALSE (fail);
24012385 EXPECT_NEAR (root, 2.0 , 1e-8 );
24022386}
@@ -2407,9 +2391,8 @@ TEST_F(FindRootAdditionalTest, QuadraticFourArg) {
24072391 y = x * x - 9.0 ;
24082392 dy = 2.0 * x;
24092393 };
2410- bool fail = false ;
24112394 // y(2.5) = 6.25-9 = -2.75, y(3.5) = 12.25-9 = 3.25
2412- double root = findRoot (func, 2.5 , -2.75 , 3.5 , 3.25 , 1e-10 , 100 , fail );
2395+ auto [ root, fail] = findRoot (func, 2.5 , -2.75 , 3.5 , 3.25 , 1e-10 , 100 );
24132396 EXPECT_FALSE (fail);
24142397 EXPECT_NEAR (root, 3.0 , 1e-8 );
24152398}
@@ -2590,8 +2573,7 @@ TEST_F(FindRootAdditionalTest, LinearFunction2) {
25902573 y = 2.0 * x - 10.0 ;
25912574 dy = 2.0 ;
25922575 };
2593- bool fail = false ;
2594- double root = findRoot (func, 0.0 , 10.0 , 1e-10 , 100 , fail);
2576+ auto [root, fail] = findRoot (func, 0.0 , 10.0 , 1e-10 , 100 );
25952577 EXPECT_FALSE (fail);
25962578 EXPECT_NEAR (root, 5.0 , 1e-8 );
25972579}
@@ -2601,9 +2583,8 @@ TEST_F(FindRootAdditionalTest, FourArgLinear) {
26012583 y = 3.0 * x - 6.0 ;
26022584 dy = 3.0 ;
26032585 };
2604- bool fail = false ;
26052586 // y(1.0) = -3, y(3.0) = 3
2606- double root = findRoot (func, 1.0 , -3.0 , 3.0 , 3.0 , 1e-10 , 100 , fail );
2587+ auto [ root, fail] = findRoot (func, 1.0 , -3.0 , 3.0 , 3.0 , 1e-10 , 100 );
26072588 EXPECT_FALSE (fail);
26082589 EXPECT_NEAR (root, 2.0 , 1e-8 );
26092590}
@@ -2613,8 +2594,7 @@ TEST_F(FindRootAdditionalTest, HighOrderPoly) {
26132594 y = x * x * x * x - 16.0 ;
26142595 dy = 4.0 * x * x * x;
26152596 };
2616- bool fail = false ;
2617- double root = findRoot (func, 1.0 , 3.0 , 1e-10 , 100 , fail);
2597+ auto [root, fail] = findRoot (func, 1.0 , 3.0 , 1e-10 , 100 );
26182598 EXPECT_FALSE (fail);
26192599 EXPECT_NEAR (root, 2.0 , 1e-6 );
26202600}
@@ -2624,8 +2604,7 @@ TEST_F(FindRootAdditionalTest, NegativeRoot) {
26242604 y = x + 3.0 ;
26252605 dy = 1.0 ;
26262606 };
2627- bool fail = false ;
2628- double root = findRoot (func, -5.0 , -1.0 , 1e-10 , 100 , fail);
2607+ auto [root, fail] = findRoot (func, -5.0 , -1.0 , 1e-10 , 100 );
26292608 EXPECT_FALSE (fail);
26302609 EXPECT_NEAR (root, -3.0 , 1e-8 );
26312610}
@@ -2635,9 +2614,8 @@ TEST_F(FindRootAdditionalTest, TrigFunction) {
26352614 y = std::cos (x);
26362615 dy = -std::sin (x);
26372616 };
2638- bool fail = false ;
26392617 // Root at pi/2
2640- double root = findRoot (func, 1.0 , 2.0 , 1e-10 , 100 , fail );
2618+ auto [ root, fail] = findRoot (func, 1.0 , 2.0 , 1e-10 , 100 );
26412619 EXPECT_FALSE (fail);
26422620 EXPECT_NEAR (root, M_PI / 2.0 , 1e-8 );
26432621}
@@ -2647,8 +2625,7 @@ TEST_F(FindRootAdditionalTest, VeryTightBounds) {
26472625 y = x - 5.0 ;
26482626 dy = 1.0 ;
26492627 };
2650- bool fail = false ;
2651- double root = findRoot (func, 4.999 , 5.001 , 1e-10 , 100 , fail);
2628+ auto [root, fail] = findRoot (func, 4.999 , 5.001 , 1e-10 , 100 );
26522629 EXPECT_FALSE (fail);
26532630 EXPECT_NEAR (root, 5.0 , 1e-8 );
26542631}
@@ -2658,8 +2635,7 @@ TEST_F(FindRootAdditionalTest, ExpFunction) {
26582635 y = std::exp (x) - 10.0 ;
26592636 dy = std::exp (x);
26602637 };
2661- bool fail = false ;
2662- double root = findRoot (func, 1.0 , 3.0 , 1e-10 , 100 , fail);
2638+ auto [root, fail] = findRoot (func, 1.0 , 3.0 , 1e-10 , 100 );
26632639 EXPECT_FALSE (fail);
26642640 EXPECT_NEAR (root, std::log (10.0 ), 1e-8 );
26652641}
@@ -2669,9 +2645,8 @@ TEST_F(FindRootAdditionalTest, FourArgSwap) {
26692645 y = x - 7.0 ;
26702646 dy = 1.0 ;
26712647 };
2672- bool fail = false ;
26732648 // y1 = 3.0 > 0, y2 = -7.0 < 0 => internal swap
2674- double root = findRoot (func, 10.0 , 3.0 , 0.0 , -7.0 , 1e-10 , 100 , fail );
2649+ auto [ root, fail] = findRoot (func, 10.0 , 3.0 , 0.0 , -7.0 , 1e-10 , 100 );
26752650 EXPECT_FALSE (fail);
26762651 EXPECT_NEAR (root, 7.0 , 1e-8 );
26772652}
@@ -3369,8 +3344,7 @@ TEST_F(FindRootAdditionalTest, SteepDerivative) {
33693344 y = 1000.0 * x - 500.0 ;
33703345 dy = 1000.0 ;
33713346 };
3372- bool fail = false ;
3373- double root = findRoot (func, 0.0 , 1.0 , 1e-10 , 100 , fail);
3347+ auto [root, fail] = findRoot (func, 0.0 , 1.0 , 1e-10 , 100 );
33743348 EXPECT_FALSE (fail);
33753349 EXPECT_NEAR (root, 0.5 , 1e-8 );
33763350}
@@ -3381,8 +3355,7 @@ TEST_F(FindRootAdditionalTest, QuarticRoot) {
33813355 y = x*x*x*x - 81.0 ;
33823356 dy = 4.0 *x*x*x;
33833357 };
3384- bool fail = false ;
3385- double root = findRoot (func, 2.0 , 4.0 , 1e-10 , 100 , fail);
3358+ auto [root, fail] = findRoot (func, 2.0 , 4.0 , 1e-10 , 100 );
33863359 EXPECT_FALSE (fail);
33873360 EXPECT_NEAR (root, 3.0 , 1e-6 );
33883361}
@@ -3393,8 +3366,7 @@ TEST_F(FindRootAdditionalTest, FourArgNegBracket) {
33933366 y = x + 5.0 ;
33943367 dy = 1.0 ;
33953368 };
3396- bool fail = false ;
3397- double root = findRoot (func, -8.0 , -3.0 , -2.0 , 3.0 , 1e-10 , 100 , fail);
3369+ auto [root, fail] = findRoot (func, -8.0 , -3.0 , -2.0 , 3.0 , 1e-10 , 100 );
33983370 EXPECT_FALSE (fail);
33993371 EXPECT_NEAR (root, -5.0 , 1e-8 );
34003372}
0 commit comments