GNU
|
Liberty Eiffel
|
Automated Tests
|
Wiki
|
Savannah project
|
Debian packages
|
Documentation
>
libraries
>
HASH_TABLE_SIZE
+
Point of view
All features
ANY
All features
deferred class HASH_TABLE_SIZE
Summary
top
Some useful features to deal with prime INTEGER values in order to select an appropriate size for some hash table (used for example by the
DICTIONARY
class as well as by the
SET
class).
Direct parents
Insert list:
PLATFORM
Known children
Insert list:
ABSTRACT_HASHED_DICTIONARY
,
ABSTRACT_HASHED_SET
,
HASHED_BIJECTIVE_DICTIONARY
Overview
top
Features
{}
prime_number_ceiling
(integer:
INTEGER_32
):
INTEGER_32
A good prime number, large enough, and no smaller than
integer
.
Capacity management: ideally we try to keep the dictionary less than 2/3rd filled
{}
prime_capacity
(a_capacity:
INTEGER_32
):
INTEGER_32
should_increase_capacity
(a_capacity:
INTEGER_32
, a_count:
INTEGER_32
):
BOOLEAN
Maximum:
{}
Maximum_character_code
:
INTEGER_16
Largest supported code for
CHARACTER
values.
Maximum_integer_8
:
INTEGER_8
Largest supported value of type
INTEGER_8
.
Maximum_integer_16
:
INTEGER_16
Largest supported value of type
INTEGER_16
.
Maximum_integer
:
INTEGER_32
Largest supported value of type INTEGER/
INTEGER_32
.
Maximum_integer_32
:
INTEGER_32
Largest supported value of type INTEGER/
INTEGER_32
.
Maximum_integer_64
:
INTEGER_64
Largest supported value of type
INTEGER_64
.
Maximum_real_32
:
REAL_32
Largest non-special (no NaNs nor infinity) supported value of type
REAL_32
.
Maximum_real
:
REAL_64
Largest non-special (no NaNs nor infinity) supported value of type REAL.
Maximum_real_64
:
REAL_64
Largest non-special (no NaNs nor infinity) supported value of type REAL.
Maximum_real_80
:
REAL_EXTENDED
Largest supported value of type
REAL_80
.
Minimum:
{}
Minimum_character_code
:
INTEGER_16
Smallest supported code for
CHARACTER
values.
Minimum_integer_8
:
INTEGER_8
Smallest supported value of type
INTEGER_8
.
Minimum_integer_16
:
INTEGER_16
Smallest supported value of type
INTEGER_16
.
Minimum_integer
:
INTEGER_32
Smallest supported value of type INTEGER/
INTEGER_32
.
Minimum_integer_32
:
INTEGER_32
Smallest supported value of type INTEGER/
INTEGER_32
.
Minimum_integer_64
:
INTEGER_64
Smallest supported value of type
INTEGER_64
.
Minimum_real_32
:
REAL_32
Smallest non-special (no NaNs nor infinity) supported value of type
REAL_32
.
Minimum_real
:
REAL_64
Smallest non-special (no NaNs nor infinity) supported value of type REAL.
Minimum_real_64
:
REAL_64
Smallest non-special (no NaNs nor infinity) supported value of type REAL.
Minimum_real_80
:
REAL_64
Smallest supported value of type
REAL_80
.
Bits:
{}
Boolean_bits
:
INTEGER_32
Number of bits in a value of type
BOOLEAN
.
Character_bits
:
INTEGER_32
Number of bits in a value of type
CHARACTER
.
Integer_bits
:
INTEGER_32
Number of bits in a value of type INTEGER.
Real_bits
:
INTEGER_32
Number of bits in a value of type REAL.
Pointer_bits
:
INTEGER_32
Number of bits in a value of type
POINTER
.
prime_number_ceiling
(integer:
INTEGER_32
):
INTEGER_32
effective function
{}
top
A good prime number, large enough, and no smaller than
integer
.
require
is_positive:
integer >= 0
ensure
Result >= integer.max(1)
prime_capacity
(a_capacity:
INTEGER_32
):
INTEGER_32
effective function
{}
top
require
a_capacity >= 0
ensure
Result >= a_capacity
should_increase_capacity
(a_capacity:
INTEGER_32
, a_count:
INTEGER_32
):
BOOLEAN
effective function
{}
top
Maximum_character_code
:
INTEGER_16
{}
top
Largest supported code for
CHARACTER
values.
ensure
meaningful:
Result >= 127
Maximum_integer_8
:
INTEGER_8
is 127
constant attribute
{}
top
Largest supported value of type
INTEGER_8
.
Maximum_integer_16
:
INTEGER_16
is 32767
constant attribute
{}
top
Largest supported value of type
INTEGER_16
.
Maximum_integer
:
INTEGER_32
is 2147483647
constant attribute
{}
top
Largest supported value of type INTEGER/
INTEGER_32
.
Maximum_integer_32
:
INTEGER_32
is 2147483647
constant attribute
{}
top
Largest supported value of type INTEGER/
INTEGER_32
.
Maximum_integer_64
:
INTEGER_64
is 9223372036854775807
constant attribute
{}
top
Largest supported value of type
INTEGER_64
.
Maximum_real_32
:
REAL_32
is {REAL_32 3.4028234663852885981170418348451692544e+38}
constant attribute
{}
top
Largest non-special (no NaNs nor infinity) supported value of type
REAL_32
.
Maximum_real
:
REAL_64
{}
top
Largest non-special (no NaNs nor infinity) supported value of type REAL.
Just to give an idea of this value: 1.79769313486231570....e+308
Maximum_real_64
:
REAL_64
{}
top
Largest non-special (no NaNs nor infinity) supported value of type REAL.
Just to give an idea of this value: 1.79769313486231570....e+308
Maximum_real_80
:
REAL_EXTENDED
{}
top
Largest supported value of type
REAL_80
.
ensure
meaningful:
Result >=
Maximum_real
Minimum_character_code
:
INTEGER_16
{}
top
Smallest supported code for
CHARACTER
values.
ensure
meaningful:
Result <= 0
Minimum_integer_8
:
INTEGER_8
is -128
constant attribute
{}
top
Smallest supported value of type
INTEGER_8
.
Minimum_integer_16
:
INTEGER_16
is -32768
constant attribute
{}
top
Smallest supported value of type
INTEGER_16
.
Minimum_integer
:
INTEGER_32
is -2147483648
constant attribute
{}
top
Smallest supported value of type INTEGER/
INTEGER_32
.
Minimum_integer_32
:
INTEGER_32
is -2147483648
constant attribute
{}
top
Smallest supported value of type INTEGER/
INTEGER_32
.
Minimum_integer_64
:
INTEGER_64
is -9223372036854775808
constant attribute
{}
top
Smallest supported value of type
INTEGER_64
.
Minimum_real_32
:
REAL_32
is {REAL_32 -3.40282346638528859811704183484516925440e+38}
constant attribute
{}
top
Smallest non-special (no NaNs nor infinity) supported value of type
REAL_32
.
Minimum_real
:
REAL_64
{}
top
Smallest non-special (no NaNs nor infinity) supported value of type REAL.
Just to give an idea of this value: -1.79769313486231570....e+308
Minimum_real_64
:
REAL_64
{}
top
Smallest non-special (no NaNs nor infinity) supported value of type REAL.
Just to give an idea of this value: -1.79769313486231570....e+308
Minimum_real_80
:
REAL_64
{}
top
Smallest supported value of type
REAL_80
.
ensure
meaningful:
Result <= 0.0
Boolean_bits
:
INTEGER_32
{}
top
Number of bits in a value of type
BOOLEAN
.
ensure
meaningful:
Result >= 1
Character_bits
:
INTEGER_32
{}
top
Number of bits in a value of type
CHARACTER
.
ensure
meaningful:
Result >= 1
large_enough:
{INTEGER_32 2} ^ Result >=
Maximum_character_code
Integer_bits
:
INTEGER_32
{}
top
Number of bits in a value of type INTEGER.
ensure
integer_definition:
Result = 32
Real_bits
:
INTEGER_32
is 64
constant attribute
{}
top
Number of bits in a value of type REAL.
Pointer_bits
:
INTEGER_32
{}
top
Number of bits in a value of type
POINTER
.