From f560a08c33ad4c438fb62579cdb8049036fe941b Mon Sep 17 00:00:00 2001 From: JordanRL Date: Sun, 15 Jan 2017 19:10:30 -0800 Subject: [PATCH] Prepare for v1.0.0 release --- CHANGELOG.md | 45 +++++++++++++++++++++++++--------- src/Samsara/Fermat/Numbers.php | 19 ++++++++------ 2 files changed, 45 insertions(+), 19 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7dbc9870..d4fe33f7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,17 +4,36 @@ This project adheres to [Semantic Versioning](http://semver.org/). At least so m ## [Unreleased] - [unreleased] ### Added -- **Dependencies:** - - riimu/kit-baseconversion: v1.* - - ircmaxell/random-lib: v1.1.* - - php-ds/php-ds: v1.1.* - - ext-bcmath: * -- **Suggested Extensions** - - ext-ds: * - - ext-stats: * (NOTE: This extension can't be used because it is not available for PHP 7+) - - ext-gmp: * -- **Dev Dependencies:** - - phpunit/phpunit: v4.8.* + +*Nothing* + +### Removed + +*Nothing* + +### Changed + +*Nothing* + +### Fixed + +*Nothing* + +## [v1.0.0] - 2017-01-15 +### Added +- Composer + - **Dependencies:** + - riimu/kit-baseconversion: v1.* + - ircmaxell/random-lib: v1.1.* + - php-ds/php-ds: v1.1.* + - samsara/common: dev-master + - ext-bcmath: * + - **Dev Dependencies:** + - phpunit/phpunit: v5.7.* + - **Suggested:** + - ext-ds: * + - ext-stats: * (NOTE: This extension can't be used because it is not available for PHP 7+) + - ext-gmp: * - Types: - Interfaces: - CoordinateInterface @@ -40,4 +59,6 @@ This project adheres to [Semantic Versioning](http://semver.org/). At least so m - SequenceProvider - SeriesProvider - StatsProvider - - TrigonometryProvider \ No newline at end of file + - TrigonometryProvider + +[unreleased]: https://github.com/JordanRL/Fermat/compare/v1.0.0...HEAD \ No newline at end of file diff --git a/src/Samsara/Fermat/Numbers.php b/src/Samsara/Fermat/Numbers.php index 87326997..dba2e760 100644 --- a/src/Samsara/Fermat/Numbers.php +++ b/src/Samsara/Fermat/Numbers.php @@ -54,16 +54,16 @@ public static function make($type, $value, $precision = null, $base = 10) } elseif ($type == static::MUTABLE) { return new MutableNumber(trim($value), $precision, $base); } elseif ($type == static::IMMUTABLE_FRACTION) { - return self::makeFractionFromString($value, $type)->convertToBase($base); + return self::makeFractionFromString($type, $value, $base); } elseif ($type == static::MUTABLE_FRACTION) { - return self::makeFractionFromString($value, $type)->convertToBase($base); + return self::makeFractionFromString($type, $value, $base); } elseif ($type == static::CARTESIAN_COORDINATE && is_array($value)) { return new CartesianCoordinate($value); } else { $reflector = new \ReflectionClass($type); if ($reflector->implementsInterface(FractionInterface::class) && $reflector->isSubclassOf(Fraction::class)) { - return Numbers::makeFractionFromString($value, $reflector->getName(), $base); + return Numbers::makeFractionFromString($reflector->getName(), $value, $base); } if ($reflector->implementsInterface(CoordinateInterface::class) && is_array($value)) { @@ -160,13 +160,14 @@ public static function makeOrDont($type, $value, $precision = null, $base = 10) } /** - * @param $value - * @param $type + * @param $type + * @param $value + * @param int $base * - * @return ImmutableFraction|MutableFraction|FractionInterface + * @return FractionInterface|ImmutableFraction|MutableFraction * @throws IntegrityConstraint */ - public static function makeFractionFromString($value, $type = self::IMMUTABLE_FRACTION, $base = 10) + public static function makeFractionFromString($type, $value, $base = 10) { $parts = explode('/', $value); @@ -342,6 +343,8 @@ public static function makeNaturalLog10($precision = null) } /** + * @param int|null $precision + * * @return ImmutableNumber */ public static function makeOne($precision = null) @@ -350,6 +353,8 @@ public static function makeOne($precision = null) } /** + * @param int|null $precision + * * @return ImmutableNumber */ public static function makeZero($precision = null)