elogger API
Overview Classes Cluster Class Index          Top Features

ise.base.kernel

Class NATURAL_16_REF


Direct ancestors

NUMERIC, COMPARABLE, HASHABLE

Known direct descendants

NATURAL_16

Features

Invariants

indexing

description

References to objects containing an integer value coded on 16 bits

legal

See notice at end of class.

status

See notice at end of class.

class NATURAL_16_REF

inherit

NUMERIC
DEBUG_OUTPUT
COMPARABLE
PART_COMPARABLE
HASHABLE

feature -- Access

ascii_char: CHARACTER

-- Returns corresponding ASCII character to item value.

obsolete

Use to_character_8 instead

require

valid_character_code: is_valid_character_8_code

hash_code: INTEGER

-- Hash code value
-- (From HASHABLE)

ensure

good_hash_value: Result >= 0

item: NATURAL_16

-- Integer value

Max_value: NATURAL_16

-- Minimum and Maximum value hold in item.

Min_value: NATURAL_16

one: like Current

-- Neutral element for "*" and "/"
-- (From NUMERIC)

ensure

result_exists: Result /= Void

sign: INTEGER

-- Sign value (0, -1 or 1)

ensure

three_way: Result = three_way_comparison (zero)

zero: like Current

-- Neutral element for "+" and "-"
-- (From NUMERIC)

ensure

result_exists: Result /= Void

feature -- Comparison

infix "<=" (other: like Current): BOOLEAN

-- Is current object less than or equal to other?
-- (From PART_COMPARABLE)

require

other_exists: other /= Void

ensure then

definition: Result = ((Current < other) or is_equal (other))

infix ">" (other: like Current): BOOLEAN

-- Is current object greater than other?
-- (From PART_COMPARABLE)

require

other_exists: other /= Void

ensure then

definition: Result = (other < Current)

infix ">=" (other: like Current): BOOLEAN

-- Is current object greater than or equal to other?
-- (From PART_COMPARABLE)

require

other_exists: other /= Void

ensure then

definition: Result = (other <= Current)

max (other: like Current): like Current

-- The greater of current object and other
-- (From COMPARABLE)

require

other_exists: other /= Void

ensure

current_if_not_smaller: Current >= other implies Result = Current
other_if_smaller: Current < other implies Result = other

min (other: like Current): like Current

-- The smaller of current object and other
-- (From COMPARABLE)

require

other_exists: other /= Void

ensure

current_if_not_greater: Current <= other implies Result = Current
other_if_greater: Current > other implies Result = other

three_way_comparison (other: like Current): INTEGER

-- If current object equal to other, 0;
-- if smaller, -1; if greater, 1
-- (From COMPARABLE)

require

other_exists: other /= Void

ensure

equal_zero: (Result = 0) = is_equal (other)
smaller_negative: (Result = -1) = (Current < other)
greater_positive: (Result = 1) = (Current > other)

infix "<" (other: like Current): BOOLEAN

-- Is current integer less than other?
-- (From PART_COMPARABLE)

require

other_exists: other /= Void

ensure then

asymmetric: Result implies not (other < Current)

is_equal (other: like Current): BOOLEAN

-- Is other attached to an object of the same type
-- as current object and identical to it?
-- (From ANY)

require

other_not_void: other /= Void

ensure

symmetric: Result implies other.is_equal (Current)
consistent: standard_is_equal (other) implies Result

feature -- Status report

divisible (other: NATURAL_16_REF): BOOLEAN

-- May current object be divided by other?
-- (From NUMERIC)

require

other_exists: other /= Void

ensure then

value: Result = (other.item /= 0)

exponentiable (other: NUMERIC): BOOLEAN

-- May current object be elevated to the power other?
-- (From NUMERIC)

require

other_exists: other /= Void

ensure then

safe_values: ((other.conforms_to (0) and item /= 0) or (other.conforms_to (0.0) and item > 0)) implies Result

is_hashable: BOOLEAN

-- May current object be hashed?
-- (True if it is not its type's default.)
-- (From HASHABLE)

ensure

ok_if_not_default: Result implies (Current /= default)

is_valid_character_32_code: BOOLEAN

-- Does current object represent a character?

is_valid_character_8_code: BOOLEAN

-- Does current object represent a CHARACTER_8?

is_valid_character_code: BOOLEAN

-- Does current object represent a CHARACTER_8?

obsolete

feature -- Element change

set_item (i: NATURAL_16)

-- Make i the item value.

ensure

item_set: item = i

feature -- Conversion

frozen as_integer_16: INTEGER_16

-- Convert item into an INTEGER_16 value.

frozen as_integer_32: INTEGER

-- Convert item into an INTEGER_32 value.

frozen as_integer_64: INTEGER_64

-- Convert item into an INTEGER_64 value.

frozen as_integer_8: INTEGER_8

-- Convert item into an INTEGER_8 value.

frozen as_natural_16: NATURAL_16

-- Convert item into an NATURAL_16 value.

frozen as_natural_32: NATURAL_32

-- Convert item into an NATURAL_32 value.

frozen as_natural_64: NATURAL_64

-- Convert item into an NATURAL_64 value.

frozen as_natural_8: NATURAL_8

-- Convert item into an NATURAL_8 value.

frozen to_boolean: BOOLEAN

-- True if not zero.

to_character: CHARACTER

-- Returns corresponding ASCII character to item value.

obsolete

Use to_character_8 instead.

require

valid_character: is_valid_character_8_code

to_character_32: WIDE_CHARACTER

-- Associated character in 32 bit version.

require

valid_character: is_valid_character_32_code

to_character_8: CHARACTER

-- Associated character in 8 bit version.

require

valid_character: is_valid_character_8_code

to_hex_character: CHARACTER

-- Convert item into an hexadecimal character.

require

in_bounds: 0 <= item and item <= 15

ensure

valid_character: ("0123456789ABCDEF").has (Result)

to_hex_string: STRING

-- Convert item into an hexadecimal string.

ensure

Result_not_void: Result /= Void
Result_valid_count: Result.count = (create {PLATFORM}).Integer_16_bits // 4

frozen to_integer_16: INTEGER_16

-- Convert item into an INTEGER_16 value.

require

frozen to_integer_32: INTEGER

-- Convert item into an INTEGER_32 value.

frozen to_integer_64: INTEGER_64

-- Convert item into an INTEGER_64 value.

frozen to_integer_8: INTEGER_8

-- Convert item into an INTEGER_8 value.

require

frozen to_natural_16: NATURAL_16

-- Convert item into an NATURAL_16 value.

frozen to_natural_32: NATURAL_32

-- Convert item into an NATURAL_32 value.

frozen to_natural_64: NATURAL_64

-- Convert item into an NATURAL_64 value.

frozen to_natural_8: NATURAL_8

-- Convert item into an INTEGER_8 value.

require

not_too_big: item <= {NATURAL_8}.Max_value

frozen to_real_32: REAL

-- Convert item into a REAL_32

frozen to_real_64: DOUBLE

-- Convert item into a REAL_64

to_reference: NATURAL_16_REF

-- Associated reference of Current

ensure

to_reference_not_void: Result /= Void

feature -- Basic operations

infix "*" (other: like Current): like Current

-- Product by other
-- (From NUMERIC)

require

other_exists: other /= Void

ensure

result_exists: Result /= Void

infix "+" (other: like Current): like Current

-- Sum with other
-- (From NUMERIC)

require

other_exists: other /= Void

ensure

result_exists: Result /= Void
commutative: equal (Result, other + Current)

infix "-" (other: like Current): like Current

-- Result of subtracting other
-- (From NUMERIC)

require

other_exists: other /= Void

ensure

result_exists: Result /= Void

infix "/" (other: like Current): DOUBLE

-- Division by other

require

other_exists: other /= Void
good_divisor: divisible (other)

infix "//" (other: like Current): like Current

-- Integer division of Current by other
-- (From NUMERIC)

require

other_exists: other /= Void
good_divisor: divisible (other)

ensure

result_exists: Result /= Void

infix "\\" (other: like Current): like Current

-- Remainder of the integer division of Current by other

require

other_exists: other /= Void
good_divisor: divisible (other)

ensure

result_exists: Result /= Void

infix "^" (other: DOUBLE): DOUBLE

-- Integer power of Current by other

infix "|..|" (other: INTEGER): INTEGER_INTERVAL

-- Interval from current element to other
-- (empty if other less than current integer)

prefix "+" : like Current

-- Unary plus
-- (From NUMERIC)

ensure

result_exists: Result /= Void

unapplicable_minus_prefix: like Current

-- Unary minus
-- (From NUMERIC)

ensure

result_exists: Result /= Void

ensure then

not_applicable: False

feature -- Bit operations

frozen bit_and (i: like Current): like Current

-- Bitwise and between Current' and i.

require

i_not_void: i /= Void

ensure

bitwise_and_not_void: Result /= Void

frozen bit_not: like Current

-- One's complement of Current.

ensure

bit_not_not_void: Result /= Void

frozen bit_or (i: like Current): like Current

-- Bitwise or between Current' and i.

require

i_not_void: i /= Void

ensure

bitwise_or_not_void: Result /= Void

frozen bit_shift (n: INTEGER): NATURAL_16

-- Shift Current from n position to right if n positive,
-- to left otherwise.

require

n_less_or_equal_to_16: n <= 16
n_greater_or_equal_to_minus_16: n >= -16

frozen bit_shift_left (n: INTEGER): like Current

-- Shift Current from n position to left.

require

n_nonnegative: n >= 0
n_less_or_equal_to_16: n <= 16

ensure

bit_shift_left_not_void: Result /= Void

frozen bit_shift_right (n: INTEGER): like Current

-- Shift Current from n position to right.

require

n_nonnegative: n >= 0
n_less_or_equal_to_16: n <= 16

ensure

bit_shift_right_not_void: Result /= Void

frozen bit_test (n: INTEGER): BOOLEAN

-- Test n-th position of Current.

require

n_nonnegative: n >= 0
n_less_than_16: n < 16

frozen bit_xor (i: like Current): like Current

-- Bitwise xor between Current' and i.

require

i_not_void: i /= Void

ensure

bitwise_xor_not_void: Result /= Void

frozen infix "&" (i: like Current): like Current

-- Bitwise and between Current' and i.

require

i_not_void: i /= Void

ensure

bitwise_and_not_void: Result /= Void

frozen infix "|" (i: like Current): like Current

-- Bitwise or between Current' and i.

require

i_not_void: i /= Void

ensure

bitwise_or_not_void: Result /= Void

frozen infix "|<<" (n: INTEGER): like Current

-- Shift Current from n position to left.

require

n_nonnegative: n >= 0
n_less_or_equal_to_16: n <= 16

ensure

bit_shift_left_not_void: Result /= Void

frozen infix "|>>" (n: INTEGER): like Current

-- Shift Current from n position to right.

require

n_nonnegative: n >= 0
n_less_or_equal_to_16: n <= 16

ensure

bit_shift_right_not_void: Result /= Void

frozen set_bit (b: BOOLEAN; n: INTEGER): NATURAL_16

-- Copy of current with n-th position
-- set to 1 if b, 0 otherwise.

require

n_nonnegative: n >= 0
n_less_than_16: n < 16

frozen set_bit_with_mask (b: BOOLEAN; m: NATURAL_16): NATURAL_16

-- Copy of current with all 1 bits of m set to 1
-- if b, 0 otherwise.

feature -- Output

out: STRING

-- Printable representation of integer value
-- (From DEBUG_OUTPUT)

ensure

result_not_void: Result /= Void

invariant

-- From NUMERIC

-- From ANY
reflexive_equality: standard_is_equal (Current)
reflexive_conformance: conforms_to (Current)

-- From COMPARABLE
irreflexive_comparison: not (Current < Current)

indexing

library

EiffelBase: Library of reusable components for Eiffel.

copyright

Copyright (c) 1984-2006, Eiffel Software and others

license

Eiffel Forum License v2 (see http://www.eiffel.com/licensing/forum.txt)

source

Eiffel Software
356 Storke Road, Goleta, CA 93117 USA
Telephone 805-685-1006, Fax 805-685-6869
Website http://www.eiffel.com
Customer support http://support.eiffel.com


Documentation generated by edoc