isProbablyGaussianPrime property

bool isProbablyGaussianPrime

Tests if this Complex is probably a gaussian prime, using the probabilistic prime test of ProbablyPrimeIntegerExtension.

https://en.wikipedia.org/wiki/Gaussian_integer#Gaussian_primes

Implementation

bool get isProbablyGaussianPrime {
  final re = a.round(), im = b.round();
  if (re == a && im == b) {
    if (re != 0 && im != 0) {
      return (re * re + im * im).isProbablyPrime;
    } else {
      final sum = (re + im).abs();
      return sum % 4 == 3 && sum.isProbablyPrime;
    }
  } else {
    return false;
  }
}