php-internal-docs 8.4.8
Unofficial docs for php/php-src
|
#include <stddef.h>
#include "zend.h"
#include <stdbool.h>
#include "zend_string.h"
#include "../../php_bcmath.h"
Go to the source code of this file.
Data Structures | |
struct | bc_struct |
Macros | |
#define | BASE 10 |
#define | CH_VAL(c) |
#define | BCD_CHAR(d) |
#define | MAX(a, b) |
#define | MIN(a, b) |
#define | bc_add_ex(n1, n2, result, scale_min) |
#define | bc_sub_ex(n1, n2, result, scale_min) |
#define | bc_multiply_ex(n1, n2, result, scale_min) |
#define | bc_new_num(length, scale) |
#define | bc_new_num_nonzeroed(length, scale) |
#define | bc_free_num(num) |
#define | bc_num2str(num) |
Typedefs | |
typedef struct bc_struct * | bc_num |
typedef struct bc_struct | bc_struct |
Enumerations | |
enum | sign { PLUS , MINUS } |
enum | bcmath_compare_result { BCMATH_EQUAL = 0 , BCMATH_LEFT_GREATER = 1 , BCMATH_RIGHT_GREATER = -1 } |
enum | raise_mod_status { OK , BASE_HAS_FRACTIONAL , EXPO_HAS_FRACTIONAL , EXPO_IS_NEGATIVE , MOD_HAS_FRACTIONAL , MOD_IS_ZERO } |
Functions | |
void | bc_init_numbers (void) |
void | bc_force_free_number (bc_num *num) |
bc_num | _bc_new_num_ex (size_t length, size_t scale, bool persistent) |
bc_num | _bc_new_num_nonzeroed_ex (size_t length, size_t scale, bool persistent) |
void | _bc_free_num_ex (bc_num *num, bool persistent) |
void | bc_init_num (bc_num *num) |
bool | bc_str2num (bc_num *num, const char *str, const char *end, size_t scale, size_t *full_scale, bool auto_scale) |
bc_num | bc_long2num (zend_long lval) |
zend_string * | bc_num2str_ex (bc_num num, size_t scale) |
void | bc_int2num (bc_num *num, int val) |
long | bc_num2long (bc_num num) |
bcmath_compare_result | bc_compare (bc_num n1, bc_num n2, size_t scale) |
bool | bc_is_zero (bc_num num) |
bool | bc_is_zero_for_scale (bc_num num, size_t scale) |
bool | bc_is_near_zero (bc_num num, size_t scale) |
bool | bc_is_neg (bc_num num) |
void | bc_rm_trailing_zeros (bc_num num) |
bc_num | bc_add (bc_num n1, bc_num n2, size_t scale_min) |
bc_num | bc_sub (bc_num n1, bc_num n2, size_t scale_min) |
bc_num | bc_multiply (bc_num n1, bc_num n2, size_t scale) |
bc_num | bc_square (bc_num n1, size_t scale) |
bool | bc_divide (bc_num n1, bc_num n2, bc_num *quot, size_t scale) |
bool | bc_modulo (bc_num num1, bc_num num2, bc_num *resul, size_t scale) |
bool | bc_divmod (bc_num num1, bc_num num2, bc_num *quo, bc_num *rem, size_t scale) |
bc_num | bc_floor_or_ceil (bc_num num, bool is_floor) |
void | bc_round (bc_num num, zend_long places, zend_long mode, bc_num *result) |
raise_mod_status | bc_raisemod (bc_num base, bc_num exponent, bc_num mod, bc_num *result, size_t scale) |
bool | bc_raise (bc_num base, long exponent, bc_num *result, size_t scale) |
void | bc_raise_bc_exponent (bc_num base, bc_num exponent, bc_num *resul, size_t scale) |
bool | bc_sqrt (bc_num *num, size_t scale) |
#define bc_free_num | ( | num | ) |
#define bc_new_num | ( | length, | |
scale ) |
#define bc_new_num_nonzeroed | ( | length, | |
scale ) |
#define bc_num2str | ( | num | ) |
typedef struct bc_struct bc_struct |
enum raise_mod_status |
bc_num _bc_new_num_ex | ( | size_t | length, |
size_t | scale, | ||
bool | persistent ) |
bc_num _bc_new_num_nonzeroed_ex | ( | size_t | length, |
size_t | scale, | ||
bool | persistent ) |
bcmath_compare_result bc_compare | ( | bc_num | n1, |
bc_num | n2, | ||
size_t | scale ) |
Definition at line 21 of file floor_or_ceil.c.
bool bc_is_near_zero | ( | bc_num | num, |
size_t | scale ) |
Definition at line 40 of file nearzero.c.
Definition at line 23 of file long2num.c.
long bc_num2long | ( | bc_num | num | ) |
Definition at line 40 of file num2long.c.
zend_string * bc_num2str_ex | ( | bc_num | num, |
size_t | scale ) |
raise_mod_status bc_raisemod | ( | bc_num | base, |
bc_num | exponent, | ||
bc_num | mod, | ||
bc_num * | result, | ||
size_t | scale ) |
Definition at line 37 of file raisemod.c.
bool bc_str2num | ( | bc_num * | num, |
const char * | str, | ||
const char * | end, | ||
size_t | scale, | ||
size_t * | full_scale, | ||
bool | auto_scale ) |