assertPrime method

void assertPrime({
  1. String? message,
})

Asserts that this number is prime.

A prime number is a natural number greater than 1 that is only divisible by 1 and itself. This method uses trial division to check primality.

Throws a test failure if this number is not prime.

Example:

2.assertPrime();   // Passes
3.assertPrime();   // Passes
5.assertPrime();   // Passes
7.assertPrime();   // Passes
11.assertPrime();  // Passes
4.assertPrime();   // Fails
6.assertPrime();   // Fails
1.assertPrime();   // Fails (1 is not prime by definition)
  • message: Optional custom message for the failure reason.

Implementation

void assertPrime({String? message}) {
  if (this <= 1) {
    fail(message ?? '$this is not prime');
  }
  if (this <= 3) return;
  if (this % 2 == 0 || this % 3 == 0) {
    fail(message ?? '$this is not prime');
  }

  for (var i = 5; i * i <= this; i += 6) {
    if (this % i == 0 || this % (i + 2) == 0) {
      fail(message ?? '$this is not prime');
    }
  }
}