public bool isGaussianPrime() { if (Iszero() || !IsGaussian()) { return(false); } if (Iscomplex()) { return(((int)(RealPart * RealPart + ImaginaryPart * ImaginaryPart)).IsPrime()); } if (ImaginaryPart == 0) { return(((int)RealPart.abs()).TrueMod(4) == 3 && ((int)RealPart.abs()).IsPrime()); } return(((int)ImaginaryPart.abs()).TrueMod(4) == 3 && ((int)ImaginaryPart.abs()).IsPrime()); }