* The left operand, as a string. *

* @param string $num2

* The right operand, as a string. *

* @param int|null $scale

* This optional parameter is used to set the number of digits after the * decimal place in the result. If omitted, it will default to the scale * set globally with the {@link bcscale()} function, or fallback to 0 if * this has not been set. *

* @return string The sum of the two operands, as a string. */ #[Pure] function bcadd(string $num1, string $num2, ?int $scale = null): string {} /** * Subtract one arbitrary precision number from another * @link https://php.net/manual/en/function.bcsub.php * @param string $num1

* The left operand, as a string. *

* @param string $num2

* The right operand, as a string. *

* @param int|null $scale

* This optional parameter is used to set the number of digits after the * decimal place in the result. If omitted, it will default to the scale * set globally with the {@link bcscale()} function, or fallback to 0 if * this has not been set. *

* @return string The result of the subtraction, as a string. */ #[Pure] function bcsub(string $num1, string $num2, ?int $scale = null): string {} /** * Multiply two arbitrary precision numbers * @link https://php.net/manual/en/function.bcmul.php * @param string $num1

* The left operand, as a string. *

* @param string $num2

* The right operand, as a string. *

* @param int|null $scale

* This optional parameter is used to set the number of digits after the * decimal place in the result. If omitted, it will default to the scale * set globally with the {@link bcscale()} function, or fallback to 0 if * this has not been set. *

* @return string the result as a string. */ #[Pure] function bcmul(string $num1, string $num2, ?int $scale = null): string {} /** * Divide two arbitrary precision numbers * @link https://php.net/manual/en/function.bcdiv.php * @param string $num1

* The dividend, as a string. *

* @param string $num2

* The divisor, as a string. *

* @param int|null $scale [optional]

* This optional parameter is used to set the number of digits after the * decimal place in the result. If omitted, it will default to the scale * set globally with the {@link bcscale()} function, or fallback to 0 if * this has not been set. *

* @return string|null the result of the division as a string, or NULL if * divisor is 0. */ #[Pure] #[PhpStormStubsElementAvailable(to: '7.4')] function bcdiv(string $num1, string $num2, ?int $scale = 0): ?string {} /** * Divide two arbitrary precision numbers * @link https://php.net/manual/en/function.bcdiv.php * @param string $num1

* The dividend, as a string. *

* @param string $num2

* The divisor, as a string. *

* @param int|null $scale [optional]

* This optional parameter is used to set the number of digits after the * decimal place in the result. If omitted, it will default to the scale * set globally with the {@link bcscale()} function, or fallback to 0 if * this has not been set. *

* @return string the result of the division as a string. * @throws \DivisionByZeroError if divisor is 0. Available since PHP 8.0. */ #[Pure] #[PhpStormStubsElementAvailable('8.0')] function bcdiv(string $num1, string $num2, ?int $scale = null): string {} /** * Get modulus of an arbitrary precision number * @link https://php.net/manual/en/function.bcmod.php * @param string $num1

* The dividend, as a string. Since PHP 7.2, the divided is no longer truncated to an integer. *

* @param string $num2

* The divisor, as a string. Since PHP 7.2, the divisor is no longer truncated to an integer. *

* @param int|null $scale [optional]

* This optional parameter is used to set the number of digits after the * decimal place in the result. If omitted, it will default to the scale * set globally with the {@link bcscale()} function, or fallback to 0 if * this has not been set. Available since PHP 7.2. *

* @return string|null the modulus as a string, or NULL if * divisor is 0. */ #[Pure] #[PhpStormStubsElementAvailable(to: '7.4')] function bcmod(string $num1, string $num2, ?int $scale = 0): ?string {} /** * Get modulus of an arbitrary precision number * @link https://php.net/manual/en/function.bcmod.php * @param string $num1

* The dividend, as a string. Since PHP 7.2, the divided is no longer truncated to an integer. *

* @param string $num2

* The divisor, as a string. Since PHP 7.2, the divisor is no longer truncated to an integer. *

* @param int|null $scale [optional]

* This optional parameter is used to set the number of digits after the * decimal place in the result. If omitted, it will default to the scale * set globally with the {@link bcscale()} function, or fallback to 0 if * this has not been set. Available since PHP 7.2. *

* @return string the modulus as a string. * @throws \DivisionByZeroError if divisor is 0. Available since PHP 8.0. */ #[Pure] #[PhpStormStubsElementAvailable('8.0')] function bcmod(string $num1, string $num2, ?int $scale = null): string {} /** * Raise an arbitrary precision number to another * @link https://php.net/manual/en/function.bcpow.php * @param string $num

* The base, as a string. *

* @param string $exponent

* The exponent, as a string. If the exponent is non-integral, it is truncated. * The valid range of the exponent is platform specific, but is at least * -2147483648 to 2147483647. *

* @param int|null $scale

* This optional parameter is used to set the number of digits after the * decimal place in the result. If omitted, it will default to the scale * set globally with the {@link bcscale()} function, or fallback to 0 if * this has not been set. *

* @return string the result as a string. */ #[Pure] function bcpow(string $num, string $exponent, ?int $scale = null): string {} /** * Get the square root of an arbitrary precision number * @link https://php.net/manual/en/function.bcsqrt.php * @param string $num

* The operand, as a string. *

* @param int|null $scale [optional] * @return string|null the square root as a string, or NULL if * operand is negative. */ #[Pure] #[LanguageLevelTypeAware(["8.0" => "string"], default: "?string")] function bcsqrt(string $num, ?int $scale) {} /** * Set default scale parameter for all bc math functions * @link https://php.net/manual/en/function.bcscale.php * @param int $scale * @return int|bool */ #[LanguageLevelTypeAware(['7.3' => 'int'], default: 'bool')] function bcscale( #[PhpStormStubsElementAvailable(from: '5.3', to: '7.2')] int $scale, #[PhpStormStubsElementAvailable(from: '7.3')] #[LanguageLevelTypeAware(['8.0' => 'int|null'], default: 'int')] $scale = null ) {} /** * Compare two arbitrary precision numbers * @link https://php.net/manual/en/function.bccomp.php * @param string $num1

* The left operand, as a string. *

* @param string $num2

* The right operand, as a string. *

* @param int|null $scale

* The optional scale parameter is used to set the * number of digits after the decimal place which will be used in the * comparison. *

* @return int 0 if the two operands are equal, 1 if the * left_operand is larger than the * right_operand, -1 otherwise. */ #[Pure] function bccomp(string $num1, string $num2, ?int $scale = null): int {} /** * Raise an arbitrary precision number to another, reduced by a specified modulus * @link https://php.net/manual/en/function.bcpowmod.php * @param string $num

* The base, as an integral string (i.e. the scale has to be zero). *

* @param string $exponent

* The exponent, as an non-negative, integral string (i.e. the scale has to be * zero). *

* @param string $modulus

* The modulus, as an integral string (i.e. the scale has to be zero). *

* @param int|null $scale

* This optional parameter is used to set the number of digits after the * decimal place in the result. If omitted, it will default to the scale * set globally with the {@link bcscale()} function, or fallback to 0 if * this has not been set. *

* @return string|null the result as a string, or NULL if modulus * is 0 or exponent is negative. */ #[Pure] #[LanguageLevelTypeAware(["8.0" => "string"], default: "?string")] function bcpowmod(string $num, string $exponent, string $modulus, ?int $scale = null) {}