public static function isEven($value, $scale = null)
    {
        if (!static::is($value)) {
            throw new \InvalidArgumentException(
                "The \$value parameter must be of type float (or string representing a big float)."
            );
        }

        return static::equals(static::mod($value, 2.0, $scale), 0.0, $scale);
    }