@@ -371,11 +371,13 @@ TEST_F(OrbitAnalysisTest, 北斗MEO) {
371371 EXPECT_THAT (elements.mean_inclination_interval ().midpoint (),
372372 IsNear (55 .10_(1 ) * Degree));
373373 EXPECT_THAT (elements.mean_eccentricity_interval ().midpoint (),
374- AnyOf (IsNear (0 .000554_(1 )), // Windows, Ubuntu.
374+ AnyOf (IsNear (0 .000554_(1 )), // Windows, Ubuntu SSE.
375+ IsNear (0 .000553_(1 )), // Ubuntu AVX.
375376 IsNear (0 .000550_(1 )))); // macOS.
376377 EXPECT_THAT (elements.mean_argument_of_periapsis_interval ().midpoint (),
377378 AnyOf (IsNear (0 .7875_(1 ) * Degree), // Windows.
378- IsNear (1 .349_(1 ) * Degree), // Ubuntu.
379+ IsNear (1 .349_(1 ) * Degree), // Ubuntu SSE.
380+ IsNear (1 .456_(1 ) * Degree), // Ubuntu AVX.
379381 IsNear (1 .011_(1 ) * Degree))); // macOS.
380382}
381383
@@ -412,19 +414,22 @@ TEST_F(OrbitAnalysisTest, GalileoNominalSlot) {
412414 AbsoluteErrorFrom (
413415 nominal_anomalistic_mean_motion,
414416 AnyOf (IsNear (0 .46_(1 ) * Degree / Day), // Windows.
415- IsNear (0 .65_(1 ) * Degree / Day), // Ubuntu.
417+ IsNear (0 .65_(1 ) * Degree / Day), // Ubuntu SSE.
418+ IsNear (0 .39_(1 ) * Degree / Day), // Ubuntu AVX.
416419 IsNear (0 .63_(1 ) * Degree / Day))), // macOS.
417420 RelativeErrorFrom (
418421 nominal_anomalistic_mean_motion,
419422 AnyOf (IsNear (0 .00075_(1 )), // Windows.
420- IsNear (0 .00106_(1 )))))); // Ubuntu, macOS.
423+ IsNear (0 .00064_(1 )), // Ubuntu AVX.
424+ IsNear (0 .00106_(1 )))))); // Ubuntu SSE, macOS.
421425
422426 EXPECT_THAT (elements.mean_semimajor_axis_interval ().midpoint (),
423427 AbsoluteErrorFrom (29'599.8 * Kilo (Metre),
424428 IsNear (0 .33_(1 ) * Kilo (Metre))));
425429 EXPECT_THAT (elements.mean_semimajor_axis_interval ().measure (),
426430 AnyOf (IsNear (0 .087_(1 ) * Kilo (Metre)), // Windows.
427- IsNear (0 .089_(1 ) * Kilo (Metre)), // Ubuntu.
431+ IsNear (0 .089_(1 ) * Kilo (Metre)), // Ubuntu SSE.
432+ IsNear (0 .091_(1 ) * Kilo (Metre)), // Ubuntu AVX.
428433 IsNear (0 .092_(1 ) * Kilo (Metre)))); // macOS.
429434
430435 // Nominal: 0.0.
@@ -433,7 +438,8 @@ TEST_F(OrbitAnalysisTest, GalileoNominalSlot) {
433438 IsNear (0.000' 18_(1 )))); // macOS.
434439 EXPECT_THAT (elements.mean_eccentricity_interval ().measure (),
435440 AnyOf (IsNear (0.000' 020_(1 )), // Windows.
436- IsNear (0.000' 017_(1 )))); // Ubuntu, macOS.
441+ IsNear (0.000' 023_(1 )), // Ubuntu AVX.
442+ IsNear (0.000' 017_(1 )))); // Ubuntu SSE, macOS.
437443
438444 EXPECT_THAT (elements.mean_inclination_interval ().midpoint (),
439445 AbsoluteErrorFrom (56.0 * Degree, IsNear (0 .61_(1 ) * Degree)));
@@ -454,7 +460,8 @@ TEST_F(OrbitAnalysisTest, GalileoNominalSlot) {
454460 IsNear (89_(1 ) * Degree))); // Ubuntu.
455461 EXPECT_THAT (elements.mean_argument_of_periapsis_interval ().measure (),
456462 AnyOf (IsNear (5 .2_(1 ) * Degree), // Windows.
457- IsNear (7 .5_(1 ) * Degree), // Ubuntu.
463+ IsNear (7 .5_(1 ) * Degree), // Ubuntu SSE.
464+ IsNear (5 .6_(1 ) * Degree), // Ubuntu AVX.
458465 IsNear (6 .2_(1 ) * Degree))); // macOS.
459466
460467 // Since the reference parameters conventionally set ω = 0, the given mean
@@ -502,12 +509,13 @@ TEST_F(OrbitAnalysisTest, GalileoExtendedSlot) {
502509 RelativeErrorFrom (nominal_anomalistic_mean_motion,
503510 IsNear (1 .7e-06_(1 )))));
504511
505- EXPECT_THAT (
506- elements.mean_semimajor_axis_interval ().midpoint (),
507- AbsoluteErrorFrom (27'977.6 * Kilo (Metre),
508- AnyOf (IsNear (0 .0534_(1 ) * Kilo (Metre)), // Windows.
509- IsNear (0 .0490_(1 ) * Kilo (Metre)), // Ubuntu.
510- IsNear (0 .0503_(1 ) * Kilo (Metre))))); // macOS.
512+ EXPECT_THAT (elements.mean_semimajor_axis_interval ().midpoint (),
513+ AbsoluteErrorFrom (
514+ 27'977.6 * Kilo (Metre),
515+ AnyOf (IsNear (0 .0534_(1 ) * Kilo (Metre)), // Windows.
516+ IsNear (0 .0490_(1 ) * Kilo (Metre)), // Ubuntu SSE.
517+ IsNear (0 .0586_(1 ) * Kilo (Metre)), // Ubuntu AVX.
518+ IsNear (0 .0503_(1 ) * Kilo (Metre))))); // macOS.
511519 EXPECT_THAT (elements.mean_semimajor_axis_interval ().measure (),
512520 AnyOf (IsNear (00'000 .101_(1 ) * Kilo (Metre)), // Windows.
513521 IsNear (00'000 .105_(1 ) * Kilo (Metre)), // Ubuntu.
@@ -607,7 +615,8 @@ TEST_F(OrbitAnalysisTest, TOPEXPoséidon) {
607615 elements.mean_semimajor_axis_interval ().midpoint (),
608616 DifferenceFrom (7714.42938 * Kilo (Metre),
609617 AnyOf (IsNear (2 .73_(1 ) * Metre), // Windows.
610- IsNear (2 .15_(1 ) * Metre), // Ubuntu.
618+ IsNear (2 .15_(1 ) * Metre), // Ubuntu SSE.
619+ IsNear (2 .27_(1 ) * Metre), // Ubuntu AVX.
611620 IsNear (1 .91_(1 ) * Metre)))); // macOS.
612621 // Reference inclination from the legend of figure 9 of [BSFL98]; that
613622 // value is given as 66.040° in table 1 of [BSFL98], 66.039° in [BS96], and
@@ -644,11 +653,13 @@ TEST_F(OrbitAnalysisTest, TOPEXPoséidon) {
644653 EXPECT_THAT (elements.mean_argument_of_periapsis_interval (),
645654 AllOf (Field (&Interval<Angle>::min,
646655 AnyOf (IsNear (74 .7_(1 ) * Degree), // Windows.
647- IsNear (75 .1_(1 ) * Degree), // Ubuntu.
656+ IsNear (75 .1_(1 ) * Degree), // Ubuntu SSE.
657+ IsNear (74 .5_(1 ) * Degree), // Ubuntu AVX.
648658 IsNear (75 .0_(1 ) * Degree))), // macOS.
649659 Field (&Interval<Angle>::max,
650660 AnyOf (IsNear (99 .0_(1 ) * Degree), // Windows.
651- IsNear (98 .9_(1 ) * Degree), // Ubuntu.
661+ IsNear (98 .9_(1 ) * Degree), // Ubuntu SSE.
662+ IsNear (99 .9_(1 ) * Degree), // Ubuntu AVX.
652663 IsNear (98 .8_(1 ) * Degree))))); // macOS.
653664
654665 // Nominal longitude of the equatorial crossing of the first ascending pass
@@ -732,7 +743,8 @@ TEST_F(OrbitAnalysisTest, SPOT5) {
732743 IsNear (0 .0012_(1 )));
733744 EXPECT_THAT (elements.mean_argument_of_periapsis_interval ().midpoint (),
734745 AnyOf (IsNear (89 .58_(1 ) * Degree), // Windows.
735- IsNear (89 .41_(1 ) * Degree), // Ubuntu.
746+ IsNear (89 .41_(1 ) * Degree), // Ubuntu SSE.
747+ IsNear (89 .35_(1 ) * Degree), // Ubuntu AVX.
736748 IsNear (89 .64_(1 ) * Degree))); // macOS.
737749
738750 // The nominal mean solar times of the nodes are 22:30 ascending, 10:30
0 commit comments