����JFIF��x�x����'
Server IP : 66.29.137.217 / Your IP : 18.222.253.97 Web Server : LiteSpeed System : Linux premium294.web-hosting.com 4.18.0-513.11.1.lve.el8.x86_64 #1 SMP Thu Jan 18 16:21:02 UTC 2024 x86_64 User : gltevjme ( 1095) PHP Version : 7.0.33 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /home/./gltevjme/cbt.bofirm.com/vendor/bavix/laravel-wallet/src/Simple/ |
Upload File : |
<?php namespace Bavix\Wallet\Simple; use Bavix\Wallet\Interfaces\Mathable; use Brick\Math\BigDecimal; use Brick\Math\RoundingMode; /** * Class BrickMath. */ class BrickMath implements Mathable { /** * @var int */ protected $scale; /** * {@inheritdoc} */ public function add($first, $second, ?int $scale = null): string { return (string) BigDecimal::of($first) ->plus(BigDecimal::of($second)) ->toScale($this->scale($scale), RoundingMode::DOWN); } /** * {@inheritdoc} */ public function sub($first, $second, ?int $scale = null): string { return (string) BigDecimal::of($first) ->minus(BigDecimal::of($second)) ->toScale($this->scale($scale), RoundingMode::DOWN); } /** * {@inheritdoc} */ public function div($first, $second, ?int $scale = null): string { return (string) BigDecimal::of($first) ->dividedBy(BigDecimal::of($second), $this->scale($scale), RoundingMode::DOWN); } /** * {@inheritdoc} */ public function mul($first, $second, ?int $scale = null): string { return (string) BigDecimal::of($first) ->multipliedBy(BigDecimal::of($second)) ->toScale($this->scale($scale), RoundingMode::DOWN); } /** * {@inheritdoc} */ public function pow($first, $second, ?int $scale = null): string { return (string) BigDecimal::of($first) ->power($second) ->toScale($this->scale($scale), RoundingMode::DOWN); } /** * {@inheritdoc} */ public function ceil($number): string { return (string) BigDecimal::of($number) ->dividedBy(BigDecimal::one(), 0, RoundingMode::CEILING); } /** * {@inheritdoc} */ public function floor($number): string { return (string) BigDecimal::of($number) ->dividedBy(BigDecimal::one(), 0, RoundingMode::FLOOR); } /** * {@inheritdoc} */ public function round($number, int $precision = 0): string { return (string) BigDecimal::of($number) ->dividedBy(BigDecimal::one(), $precision, RoundingMode::HALF_UP); } /** * {@inheritdoc} */ public function abs($number): string { return (string) BigDecimal::of($number)->abs(); } /** * {@inheritdoc} */ public function negative($number): string { return (string) BigDecimal::of($number)->negated(); } /** * {@inheritdoc} */ public function compare($first, $second): int { return BigDecimal::of($first)->compareTo(BigDecimal::of($second)); } /** * @param int|null $scale * @return int */ protected function scale(?int $scale = null): int { if ($this->scale === null) { $this->scale = (int) config('wallet.math.scale', 64); } return $scale ?? $this->scale; } }