Integer

Integer is one of the built-in numeric types in ELib. Integers may be literals in E language source.

In the universal environment, the Integer guard is named.

Maker protocol
Convert string to an integer. If it does not match the following syntax then an exception is thrown.

string must contain only an optional leading minus sign "-" (U+002D), followed by at least one digit of the specified base ("0"-"9" for bases up to 10, then "a"-"z" or "A"-"Z" for additional digits up to base 36).

Tests
Many E implementations have multiple representations of Integers for different size ranges. These implementations must be indistinguishable, or there must be exactly one representation for any given integer.

? def a := 4 ? def b := (400000000000000000000 // 100000000000000000000) ? a == b ? a.__getAllegedType ? b.__getAllegedType ? 400000000000000000000.__getAllegedType
 * 1) value: 4
 * 1) value: 4
 * 1) value: true
 * 1) value: int
 * 1) value: int
 * 1) value: int