| parrotcode: Integer PMC class | |
| Contents | PMCs |

src/pmc/integer.pmc - Integer PMC class

Integer provides an integer for languages that want a value-restricted integer type without going to an I register.

void init()0.PMC new_from_string(STRING *rep)rep.PMC *instantiate()void share()INTVAL get_integer()INTVAL get_bool()FLOATVAL get_number()PMC *get_bignum()SELF.STRING *get_string()void set_integer_same(PMC *value)void set_integer_native(INTVAL value)Integer *value.void set_number_native(FLOATVAL value)Float and sets the value from value.void set_bool(INTVAL value)Boolean and sets the value from value.void set_bigint_int(INTVAL value)BigInt and sets the value from value.void set_string_native(STRING *value)String and sets the value from value.PMC *add(PMC *value, PMC *dest)PMC *add_int(INTVAL value, PMC *dest)value to the integer and returns the result in *dest.void i_add(PMC *value)void i_add(INTVAL value)void i_add(FLOATVAL value)value to SELF inplace.PMC *subtract(PMC *value, PMC *dest)*value from the integer and returns the result in *dest.
If dest is NULL,
a new int PMC is created.SELF or value maybe be subclassed,
we have to call get_integer and set_integer_native always.PMC *subtract_int(INTVAL value, PMC *dest)value from the integer and returns the result in *dest.void i_subtract(PMC *value)void i_subtract_int(INTVAL value)void i_subtract_float(FLOATVAL value)value from SELF inplace.PMC *multiply(PMC *value, PMC *dest)PMC *multiply_int(INTVAL value, PMC *dest)*value and returns the result in *dest.void i_multiply(PMC *value)void i_multiply_int(INTVAL value)void i_multiply_float(FLOATVAL value)value with SELF inplace.PMC *divide(PMC *value, PMC *dest)PMC *divide_int(INTVAL value, PMC *dest)PMC *divide_float(FLOATVAL value, PMC *dest)value and returns the result in *dest.void i_divide(PMC *value)void i_divide_int(INTVAL value)void i_divide_float(FLOATVAL value)SELF by value inplace.PMC *floor_divide(PMC *value, PMC *dest)PMC *floor_divide_int(INTVAL value, PMC *dest)PMC *floor_divide_float(FLOATVAL value, PMC *dest)value and returns the result in *dest.void i_floor_divide(PMC *value)void i_floor_divide_int(INTVAL value)void i_floor_divide_float(FLOATVAL value)SELF by value inplace.PMC *cmodulus(PMC *value, PMC *dest)PMC *cmodulus(INTVAL value, PMC *dest)PMC *cmodulus(FLOATVAL value, PMC *dest)mod value and returns the result in dest.void i_cmodulus(PMC *value)void i_cmodulus(INTVAL value)void i_cmodulus(FLOATVAL value)mod value and returns the result in dest.PMC *modulus(PMC *value, PMC *dest)PMC *modulus(INTVAL value, PMC *dest)PMC *modulus(FLOATVAL value, PMC *dest)mod value and returns the result in dest.
See also ops/math.ops.void i_modulus(PMC *value)void i_modulus(INTVAL value)void i_modulus(FLOATVAL value)PMC *pow(PMC *value, PMC *dest)PMC *pow_int(INTVAL value, PMC *dest)valueth power and return result in dest.void i_pow(PMC *value)void i_pow_int(INTVAL value)valueth power.INTVAL is_equal (PMC *value)== operation.INTVAL cmp(PMC *value)*value.INTVAL cmp_num(PMC *value)*value.void increment()void decrement()PMC *absolute(PMC *dest)void absolute()dest to the absolute value of SELF.STRING *get_as_base(INTVAL base)base.
base must be between 2 and 36,
inclusize.void freeze(visit_info *info)void thaw(visit_info *info)
|
|
|