= self::epsilon( $currency ); } /** * Half of the smallest unit this currency can express — the largest difference that is * definitely not real money. * * @param string $currency ISO 4217 code. */ private static function epsilon( string $currency ): float { return ( 10 ** -self::scale( $currency ) ) / 2; } }