Native 32-bit signed integer.

Same as a C int32_t

Introduced properties

intern fun %(i: Int32): Int32

core :: Int32 :: %

Modulo of self with i.
intern fun &(i: Int32): Int32

core :: Int32 :: &

Returns the result of a binary AND operation on self and i
intern fun <<(i: Int): Int32

core :: Int32 :: <<

i bits shift to the left
intern fun >>(i: Int): Int32

core :: Int32 :: >>

i bits shift to the right
intern fun ^(i: Int32): Int32

core :: Int32 :: ^

Returns the result of a binary XOR operation on self and i
intern fun unary ~: Int32

core :: Int32 :: unary ~

Returns the 1's complement of self
intern fun |(i: Int32): Int32

core :: Int32 :: |

Returns the result of a binary OR operation on self and i

Redefined properties

redef intern fun !=(i: nullable Object): Bool

core $ Int32 :: !=

Have self and other different values?
redef intern fun *(i: OTHER): OTHER

core $ Int32 :: *

Multiplication of self with i
redef intern fun +(i: OTHER): OTHER

core $ Int32 :: +

Addition of self with i
redef intern fun -(i: OTHER): OTHER

core $ Int32 :: -

Substraction of i from self
redef intern fun /(i: OTHER): OTHER

core $ Int32 :: /

Division of self with i
redef intern fun <(i: OTHER): Bool

core $ Int32 :: <

Is self lesser than other?
redef intern fun <=(i: OTHER): Bool

core $ Int32 :: <=

not other < self
redef fun <=>(other: OTHER): Int

core $ Int32 :: <=>

-1 if <, +1 if > and 0 otherwise
redef intern fun ==(i: nullable Object): Bool

core $ Int32 :: ==

Have self and other the same value?
redef intern fun >(i: OTHER): Bool

core $ Int32 :: >

other < self
redef intern fun >=(i: OTHER): Bool

core $ Int32 :: >=

not self < other
redef type OTHER: Int32

core $ Int32 :: OTHER

What self can be compared to?
redef type SELF: Int32

core $ Int32 :: SELF

Type of this instance, automatically specialized in every class
redef fun distance(i: OTHER): Int

core $ Int32 :: distance

The distance between self and d.
redef fun hash: Int

core $ Int32 :: hash

The hash code of the object.
redef fun is_between(c: OTHER, d: OTHER): Bool

core $ Int32 :: is_between

c <= self <= d
redef fun max(other: OTHER): OTHER

core $ Int32 :: max

The maximum between self and other (prefers self if equals).
redef fun min(c: OTHER): OTHER

core $ Int32 :: min

The minimum between self and c (prefer self if equals)
redef intern fun object_id: Int

core $ Int32 :: object_id

An internal hash code for the object based on its identity.
redef intern fun output

core $ Int32 :: output

Display self on stdout (debug only).
redef fun predecessor(i: Int): OTHER

core $ Int32 :: predecessor

The previous element.
redef fun successor(i: Int): OTHER

core $ Int32 :: successor

The next element.
redef intern fun to_b: Byte

core $ Int32 :: to_b

The byte equivalent of self
redef intern fun to_f: Float

core $ Int32 :: to_f

The float equivalent of self
redef intern fun to_i: Int

core $ Int32 :: to_i

The integer part of self.
redef intern fun to_i16: Int16

core $ Int32 :: to_i16

The Int16 equivalent of self
redef fun to_i32: Int32

core $ Int32 :: to_i32

The Int32 equivalent of self
redef intern fun to_i8: Int8

core $ Int32 :: to_i8

The Int8 equivalent of self
redef fun to_s: String

core :: fixed_ints_text $ Int32 :: to_s

Displayable Int32
redef intern fun to_u16: UInt16

core $ Int32 :: to_u16

The UInt16 equivalent of self
redef intern fun to_u32: UInt32

core $ Int32 :: to_u32

The UInt32 equivalent of self
redef intern fun unary -: OTHER

core $ Int32 :: unary -

assert -1i32 == 0xFFFFFFFFi32
redef fun value_of(val: Numeric): OTHER

core $ Int32 :: value_of

The value of val in the domain of self
redef fun zero: OTHER

core $ Int32 :: zero

The value of zero in the domain of self

All properties

fun !=(other: nullable Object): Bool

core :: Object :: !=

Have self and other different values?
intern fun %(i: Int32): Int32

core :: Int32 :: %

Modulo of self with i.
intern fun &(i: Int32): Int32

core :: Int32 :: &

Returns the result of a binary AND operation on self and i
abstract fun *(i: OTHER): OTHER

core :: Numeric :: *

Multiplication of self with i
abstract fun +(i: OTHER): OTHER

core :: Numeric :: +

Addition of self with i
abstract fun -(i: OTHER): OTHER

core :: Numeric :: -

Substraction of i from self
abstract fun /(i: OTHER): OTHER

core :: Numeric :: /

Division of self with i
abstract fun <(other: OTHER): Bool

core :: Comparable :: <

Is self lesser than other?
intern fun <<(i: Int): Int32

core :: Int32 :: <<

i bits shift to the left
fun <=(other: OTHER): Bool

core :: Comparable :: <=

not other < self
fun <=>(other: OTHER): Int

core :: Comparable :: <=>

-1 if <, +1 if > and 0 otherwise
fun ==(other: nullable Object): Bool

core :: Object :: ==

Have self and other the same value?
fun >(other: OTHER): Bool

core :: Comparable :: >

other < self
fun >=(other: OTHER): Bool

core :: Comparable :: >=

not self < other
intern fun >>(i: Int): Int32

core :: Int32 :: >>

i bits shift to the right
type CLASS: Class[SELF]

core :: Object :: CLASS

The type of the class of self.
type OTHER: Comparable

core :: Comparable :: OTHER

What self can be compared to?
type SELF: Object

core :: Object :: SELF

Type of this instance, automatically specialized in every class
intern fun ^(i: Int32): Int32

core :: Int32 :: ^

Returns the result of a binary XOR operation on self and i
abstract fun add(other: Numeric): Numeric

core :: Numeric :: add

Universal + with any Numeric
fun clamp(min: OTHER, max: OTHER): OTHER

core :: Comparable :: clamp

Constraint self within [min..max]
protected fun class_factory(name: String): CLASS

core :: Object :: class_factory

Implementation used by get_class to create the specific class.
fun class_name: String

core :: Object :: class_name

The class name of the object.
fun distance(d: OTHER): Int

core :: Discrete :: distance

The distance between self and d.
abstract fun div(other: Numeric): Numeric

core :: Numeric :: div

Universal / with any Numeric
fun get_class: CLASS

core :: Object :: get_class

The meta-object representing the dynamic type of self.
fun hash: Int

core :: Object :: hash

The hash code of the object.
init init

core :: Object :: init

fun inspect: String

core :: Object :: inspect

Developer readable representation of self.
protected fun inspect_head: String

core :: Object :: inspect_head

Return "CLASSNAME:#OBJECTID".
fun is_between(c: OTHER, d: OTHER): Bool

core :: Comparable :: is_between

c <= self <= d
intern fun is_same_instance(other: nullable Object): Bool

core :: Object :: is_same_instance

Return true if self and other are the same instance (i.e. same identity).
fun is_same_serialized(other: nullable Object): Bool

core :: Object :: is_same_serialized

Is self the same as other in a serialization context?
intern fun is_same_type(other: Object): Bool

core :: Object :: is_same_type

Return true if self and other have the same dynamic type.
fun is_zero: Bool

core :: Numeric :: is_zero

Is this the value of zero in its domain?
fun max(other: OTHER): OTHER

core :: Comparable :: max

The maximum between self and other (prefers self if equals).
fun min(c: OTHER): OTHER

core :: Comparable :: min

The minimum between self and c (prefer self if equals)
abstract fun mul(other: Numeric): Numeric

core :: Numeric :: mul

Universal * with any Numeric
intern fun object_id: Int

core :: Object :: object_id

An internal hash code for the object based on its identity.
fun output

core :: Object :: output

Display self on stdout (debug only).
intern fun output_class_name

core :: Object :: output_class_name

Display class name on stdout (debug only).
abstract fun predecessor(i: Int): OTHER

core :: Discrete :: predecessor

The previous element.
fun serialization_hash: Int

core :: Object :: serialization_hash

Hash value use for serialization
abstract fun sub(other: Numeric): Numeric

core :: Numeric :: sub

Universal - with any Numeric
abstract fun successor(i: Int): OTHER

core :: Discrete :: successor

The next element.
intern fun sys: Sys

core :: Object :: sys

Return the global sys object, the only instance of the Sys class.
abstract fun to_b: Byte

core :: Numeric :: to_b

The byte equivalent of self
fun to_bi: BigInt

core :: Numeric :: to_bi

The BigInt equivalent of self
abstract fun to_f: Float

core :: Numeric :: to_f

The float equivalent of self
abstract fun to_i: Int

core :: Numeric :: to_i

The integer part of self.
fun to_i16: Int16

core :: Numeric :: to_i16

The Int16 equivalent of self
fun to_i32: Int32

core :: Numeric :: to_i32

The Int32 equivalent of self
fun to_i8: Int8

core :: Numeric :: to_i8

The Int8 equivalent of self
abstract fun to_jvalue(env: JniEnv): JValue

core :: Object :: to_jvalue

fun to_r: Ratio

core :: Numeric :: to_r

The Ratio equivalent of self
fun to_s: String

core :: Object :: to_s

User readable representation of self.
fun to_u16: UInt16

core :: Numeric :: to_u16

The UInt16 equivalent of self
fun to_u32: UInt32

core :: Numeric :: to_u32

The UInt32 equivalent of self
abstract fun unary -: OTHER

core :: Numeric :: unary -

Inverse of self
intern fun unary ~: Int32

core :: Int32 :: unary ~

Returns the 1's complement of self
abstract fun value_of(val: Numeric): OTHER

core :: Numeric :: value_of

The value of val in the domain of self
abstract fun zero: OTHER

core :: Numeric :: zero

The value of zero in the domain of self
intern fun |(i: Int32): Int32

core :: Int32 :: |

Returns the result of a binary OR operation on self and i
package_diagram core::Int32 Int32 core::Discrete Discrete core::Int32->core::Discrete core::Numeric Numeric core::Int32->core::Numeric core::Comparable Comparable core::Discrete->core::Comparable core::Numeric->core::Comparable ...core::Comparable ... ...core::Comparable->core::Comparable

Ancestors

interface Comparable

core :: Comparable

The ancestor of class where objects are in a total order.
interface Object

core :: Object

The root of the class hierarchy.

Parents

interface Discrete

core :: Discrete

Discrete total orders.
interface Numeric

core :: Numeric

A numeric value supporting mathematical operations

Class definitions

core $ Int32
# Native 32-bit signed integer.
# Same as a C `int32_t`
universal Int32
	super Discrete
	super Numeric

	redef type OTHER: Int32

	redef fun successor(i) do return self + i.to_i32
	redef fun predecessor(i) do return self - i.to_i32

	redef fun object_id is intern
	redef fun hash do return self.to_i
	redef fun ==(i) is intern
	redef fun !=(i) is intern
	redef fun output is intern

	redef fun <=(i) is intern
	redef fun <(i) is intern
	redef fun >=(i) is intern
	redef fun >(i) is intern
	redef fun +(i) is intern

	#     assert -1i32 == 0xFFFFFFFFi32
	#     assert -0i32 == 0x00i32
	redef fun - is intern
	redef fun -(i) is intern
	redef fun *(i) is intern
	redef fun /(i) is intern

	# Modulo of `self` with `i`.
	#
	# Returns the remainder of division of `self` by `i`.
	#
	#     assert 5i32 % 2i32		== 1i32
	#     assert 10i32 % 2i32		== 0i32
	fun %(i: Int32): Int32 is intern

	redef fun zero do return 0.to_i32
	redef fun value_of(val) do return val.to_i32

	# `i` bits shift to the left
	#
	#     assert 5i32 << 1    == 10i32
	fun <<(i: Int): Int32 is intern

	# `i` bits shift to the right
	#
	#     assert 5i32 >> 1    == 2i32
	fun >>(i: Int): Int32 is intern

	redef fun to_i is intern
	redef fun to_f is intern
	redef fun to_b is intern
	redef fun to_i8 is intern
	redef fun to_i16 is intern
	redef fun to_u16 is intern
	redef fun to_i32 do return self
	redef fun to_u32 is intern

	redef fun distance(i) do return (self - i).to_i

	redef fun <=>(other)
	do
		if self < other then
			return -1
		else if other < self then
			return 1
		else
			return 0
		end
	end

	redef fun is_between(c, d)
	do
		if self < c or d < self then
			return false
		else
			return true
		end
	end

	redef fun max(other)
	do
		if self < other then
			return other
		else
			return self
		end
	end

	redef fun min(c)
	do
		if c < self then
			return c
		else
			return self
		end
	end

	# Returns the result of a binary AND operation on `self` and `i`
	#
	#     assert 0x10i32 & 0x01i32 == 0i32
	fun &(i: Int32): Int32 is intern

	# Returns the result of a binary OR operation on `self` and `i`
	#
	#     assert 0x10i32 | 0x01i32 == 0x11i32
	fun |(i: Int32): Int32 is intern

	# Returns the result of a binary XOR operation on `self` and `i`
	#
	#     assert 0x101i32 ^ 0x110i32 == 0x11i32
	fun ^(i: Int32): Int32 is intern

	# Returns the 1's complement of `self`
	#
	#     assert ~0x2Fi32 == 0xFFFFFFD0i32
	fun ~: Int32 is intern
end
lib/core/fixed_ints.nit:464,1--583,3

core :: fixed_ints_text $ Int32
redef class Int32
	# C function to calculate the length of the `CString` to receive `self`
	private fun to_s_len: Int `{
		return snprintf(NULL, 0, "%"PRIi32, self);
	`}

	# C function to convert a nit Int to a CString (char*)
	private fun native_to_s(nstr: CString, strlen: Int) `{
		snprintf(nstr, strlen, "%"PRIi32, self);
	`}

	# Displayable Int32
	#
	#     assert 1i32.to_s       == "1"
	#     assert (-123i32).to_s  == "-123"
	redef fun to_s do
		var nslen = to_s_len
		var ns = new CString(nslen + 1)
		ns[nslen] = 0
		native_to_s(ns, nslen + 1)
		return ns.to_s_unsafe(nslen, copy=false)
	end
end
lib/core/text/fixed_ints_text.nit:96,1--118,3