kepler2a function

double kepler2a(
  1. double e,
  2. double m, {
  3. int places = 8,
})

Kepler2 with Leingärtner limiting to avoid divergence.

Implementation

double kepler2a(double e, double m, {int places = 8}) {
  return decimalPlaces(
    (e0) {
      final se = math.sin(e0);
      final ce = math.cos(e0);
      return e0 + math.asin(math.sin((m + e * se - e0) / (1 - e * ce)));
    },
    m,
    places: places,
    maxIterations: places * 5,
  );
}