isFibonacci property

bool get isFibonacci

Returns true if this number is a Fibonacci number.

13.isFibonacci // true
14.isFibonacci // false

Implementation

bool get isFibonacci {
  bool isPerfectSquare(int n) {
    final s = math.sqrt(n).toInt();
    return s * s == n;
  }

  final n = toInt();
  if (n < 0) return false;
  return isPerfectSquare(5 * n * n + 4) || isPerfectSquare(5 * n * n - 4);
}