LisaacTM Platform

FAST_ARRAY2


Resizable two dimensional array. Unlike ARRAY2, the `lower1' bound and the `lower2' bound are frozen to 0. Thus, one can expect better performances.
Inherit/Insert Summary
parent_collection2
parent_safe_equal No developed.
 
Constructor Summary
create
Create with new dimensions. All elements are set to the default value of type E.
 
Slot Summary
upper1
First Upper index bounds.
count1
Size of the first dimension.
upper2
Second Upper index bounds.
count2
Size of the second dimension.
count
Total number of elements.
storage
capacity
of storage.
lower1
First Lower index bounds.
lower2
Second Lower index bounds.
make
Create or reset self with new dimensions. All elements are set to the default value of type E.
from_collection2
Uses the model to update self. Uses model to initialize Current.
from_collection size
Reset all bounds using new_count#i. Copy all elements of contents, line by line into Current.
from_model
The model is used to fill line by line the COLLECTION2. Assume all sub-collections of model have the number of items. The model is used to fill line by line Current. Assume all sub-collections of model have the same number of lines.
sub_collection2 to
Create a new object using selected area of Current.
 
Implementation of others feature from COLLECTION2:
item
put to
force to
Put element at position (line,column). Collection is resized first when (line,column) is not inside current bounds. New bounds are initialized with default values.
copy
 
Writing.
set_all_with
All element are set with the value v. Set all item with value v.
all_default
Do all items have their type's default value?
slice to
Create a new collection initialized with elements of range low..up. result has the same dynamic type as self collection.
set_slice to with
Set all the elements in the range [(l1,up1),(l2,up2)] of self with the element 'element'.
swap with
Swap the element at index (line1,column1) with the the element at index (line2,column2).
 
Looking and comparison:
occurrences
Number of occurrences using equal.
See also fast_occurrences to chose the apropriate one.
fast_occurrences
Number of occurrences using =.
See also occurrences to chose the apropriate one.
Infix '=='
Do both collections have the same lower1, lower2, upper1 and upper2, and items? The basic = is used for comparison of items.
See also is_equal_map.
is_equal_map
Do both collections have the same lower1, lower2, upper1 and upper2, and items? Feature is_equal is used for comparison of items.
See also is_equal.
 
Resizing:
resize
 
Looking and Searching:
has
Look for x using equal for comparison. Search if a element x is in the array using equal.
See also fast_has to chose the apropriate one.
fast_has
Same as has but use = for comparison Search if a element x is in the array using =.
 
Other features:
replace_all with
Replace all occurences of the element old_value by new_value using equal for comparison.
See also fast_replace_all to choose the apropriate one.
fast_replace_all with
Replace all occurences of the element old_value by new_value using operator = for comparison.
See also replace_all to choose the apropriate one.
transpose
Transpose the self array
to_external
Gives C access to the internal storage (may be dangerous).
 
Indexing:
line_minimum
Equivalent of lower1.
column_minimum
Equivalent of lower2.
line_maximum
Equivalent of upper1.
column_maximum
Equivalent of upper2.
 
Index validity:
valid_line
valid_index1
valid_column
valid_index2
valid_index
 
Counting:
line_count
Equivalent of count1.
column_count
Equivalent of count2.
clear_all
Set all items to default values.
 
Creating or initializing:
copy_collection
Copy other to Current.
 
Printing:
fill_tagged_out_memory
 
Miscellaneous features:
set_area to with
Set all the elements of the selected area rectangle with element.
 

Inherit/Insert Detail

parent_collection2

.../base/collection/fast_array2.li line #15

Section:
Inherit

Profile:
+ SelfSELFparent_collection2 :Expanded  COLLECTION2V)

parent_safe_equal

.../base/collection/low_level/collection2.li line #17

Section:
Inherit

Profile:
- SelfSELFparent_safe_equal : SAFE_EQUALV)

Constructor Detail

create

.../base/collection/fast_array2.li line #39

Section:
Public

Profile:
- SelfSELFcreate  ( new_count1 : INTEGER, new_count2 : INTEGER) : SELF

Description:
Create with new dimensions. All elements are set to the default value of type E.

Detail slot

upper1

.../base/collection/fast_array2.li line #19

Section:
Public

Profile:
+ SelfSELFupper1 : INTEGER

Description:
First Upper index bounds.

count1

.../base/collection/fast_array2.li line #20

Section:
Public

Profile:
+ SelfSELFcount1 : INTEGER

Description:
Size of the first dimension.

upper2

.../base/collection/fast_array2.li line #22

Section:
Public

Profile:
+ SelfSELFupper2 : INTEGER

Description:
Second Upper index bounds.

count2

.../base/collection/fast_array2.li line #23

Section:
Public

Profile:
+ SelfSELFcount2 : INTEGER

Description:
Size of the second dimension.

count

.../base/collection/fast_array2.li line #25

Section:
Public

Profile:
+ SelfSELFcount : INTEGER

Description:
Total number of elements.

storage

.../base/collection/fast_array2.li line #29

Section:
FAST_ARRAY2

Profile:
+ SelfSELFstorage : NATIVE_ARRAYV)

capacity

.../base/collection/fast_array2.li line #31

Section:
FAST_ARRAY2

Profile:
+ SelfSELFcapacity : INTEGER

Description:
of storage.

lower1

.../base/collection/fast_array2.li line #35

Section:
Public

Profile:
- SelfSELFlower1 : INTEGER

Description:
First Lower index bounds.

lower2

.../base/collection/fast_array2.li line #37

Section:
Public

Profile:
- SelfSELFlower2 : INTEGER

Description:
Second Lower index bounds.

make

.../base/collection/fast_array2.li line #49

Section:
Public

Profile:
- SelfSELFmake  ( new_count1 : INTEGER, new_count2 : INTEGER)

Description:
Create or reset self with new dimensions. All elements are set to the default value of type E.

from_collection2

.../base/collection/fast_array2.li line #76

Section:
Public

Profile:
- SelfSELFfrom_collection2   model : COLLECTION2V)

Description:
Uses the model to update self. Uses model to initialize Current.

from_collection size

.../base/collection/fast_array2.li line #88

Section:
Public

Profile:
- SelfSELFfrom_collection   contents : COLLECTIONV)  size  ( new_count1 : INTEGER, new_count2 : INTEGER)

Description:
Reset all bounds using new_count#i. Copy all elements of contents, line by line into Current.

from_model

.../base/collection/fast_array2.li line #108

Section:
Public

Profile:
- SelfSELFfrom_model   model : COLLECTIONCOLLECTIONV))

Description:
The model is used to fill line by line the COLLECTION2. Assume all sub-collections of model have the number of items. The model is used to fill line by line Current. Assume all sub-collections of model have the same number of lines.

sub_collection2 to

.../base/collection/fast_array2.li line #125

Section:
Public

Profile:
- SelfSELFsub_collection2  ( line_min : INTEGER, column_min : INTEGER)  to  ( line_max : INTEGER, column_max : INTEGER) : SELF

Description:
Create a new object using selected area of Current.

Implementation of others feature from COLLECTION2:

item

.../base/collection/fast_array2.li line #145

Section:
Public

Profile:
- SelfSELFitem  ( line : INTEGER, column : INTEGER) : V

put to

.../base/collection/fast_array2.li line #150

Section:
Public

Profile:
- SelfSELFput   element : V  to  ( line : INTEGER, column : INTEGER)

force to

.../base/collection/fast_array2.li line #155

Section:
Public

Profile:
- SelfSELFforce   element : V  to  ( line : INTEGER, column : INTEGER)

Description:
Put element at position (line,column). Collection is resized first when (line,column) is not inside current bounds. New bounds are initialized with default values.

copy

.../base/collection/fast_array2.li line #163

Section:
Public

Profile:
- SelfSELFcopy   other : SELF

Writing.

set_all_with

.../base/collection/fast_array2.li line #181

Section:
Public

Profile:
- SelfSELFset_all_with   v : V

Description:
All element are set with the value v. Set all item with value v.

all_default

.../base/collection/fast_array2.li line #187

Section:
Public

Profile:
- SelfSELFall_default : BOOLEAN

Description:
Do all items have their type's default value?

slice to

.../base/collection/fast_array2.li line #192

Section:
Public

Profile:
- SelfSELFslice  ( l1 : INTEGER, up1 : INTEGER)  to  ( l2 : INTEGER, up2 : INTEGER) : SELF

Description:
Create a new collection initialized with elements of range low..up. result has the same dynamic type as self collection.

set_slice to with

.../base/collection/fast_array2.li line #206

Section:
Public

Profile:
- SelfSELFset_slice  ( l1 : INTEGER, up1 : INTEGER)  to  ( l2 : INTEGER, up2 : INTEGER)  with   element : V

Description:
Set all the elements in the range [(l1,up1),(l2,up2)] of self with the element 'element'.

swap with

.../base/collection/fast_array2.li line #217

Section:
Public

Profile:
- SelfSELFswap  ( line1 : INTEGER, column1 : INTEGER)  with  ( line2 : INTEGER, column2 : INTEGER)

Description:
Swap the element at index (line1,column1) with the the element at index (line2,column2).

Looking and comparison:

occurrences

.../base/collection/fast_array2.li line #233

Section:
Public

Profile:
- SelfSELFoccurrences   elt : VINTEGER

Description:
Number of occurrences using equal.
See also fast_occurrences to chose the apropriate one.

fast_occurrences

.../base/collection/fast_array2.li line #238

Section:
Public

Profile:
- SelfSELFfast_occurrences   elt : VINTEGER

Description:
Number of occurrences using =.
See also occurrences to chose the apropriate one.

Infix '=='

.../base/collection/low_level/collection2.li line #278

Section:
Public

Profile:
- SelfSELF== '  other : EBOOLEAN

Description:
Do both collections have the same lower1, lower2, upper1 and upper2, and items? The basic = is used for comparison of items.
See also is_equal_map.

is_equal_map

.../base/collection/low_level/collection2.li line #306

Section:
Public

Profile:
- SelfSELFis_equal_map   other : COLLECTION2V) : BOOLEAN

Description:
Do both collections have the same lower1, lower2, upper1 and upper2, and items? Feature is_equal is used for comparison of items.
See also is_equal.

Resizing:

resize

.../base/collection/fast_array2.li line #247

Section:
Public

Profile:
- SelfSELFresize  ( new_count1 : INTEGER, new_count2 : INTEGER)

Looking and Searching:

has

.../base/collection/fast_array2.li line #279

Section:
Public

Profile:
- SelfSELFhas   x : VBOOLEAN

Description:
Look for x using equal for comparison. Search if a element x is in the array using equal.
See also fast_has to chose the apropriate one.

fast_has

.../base/collection/fast_array2.li line #289

Section:
Public

Profile:
- SelfSELFfast_has   x : VBOOLEAN

Description:
Same as has but use = for comparison Search if a element x is in the array using =.

Other features:

replace_all with

.../base/collection/fast_array2.li line #303

Section:
Public

Profile:
- SelfSELFreplace_all   old_value : V  with   new_value : V

Description:
Replace all occurences of the element old_value by new_value using equal for comparison.
See also fast_replace_all to choose the apropriate one.

fast_replace_all with

.../base/collection/fast_array2.li line #308

Section:
Public

Profile:
- SelfSELFfast_replace_all   old_value : V  with   new_value : V

Description:
Replace all occurences of the element old_value by new_value using operator = for comparison.
See also replace_all to choose the apropriate one.

transpose

.../base/collection/fast_array2.li line #313

Section:
Public

Profile:
- SelfSELFtranspose 

Description:
Transpose the self array

to_external

.../base/collection/fast_array2.li line #330

Section:
Public

Profile:
- SelfSELFto_external : POINTER

Description:
Gives C access to the internal storage (may be dangerous).

Indexing:

line_minimum

.../base/collection/low_level/collection2.li line #39

Section:
Public

Profile:
- SelfSELFline_minimum : INTEGER

Description:
Equivalent of lower1.

column_minimum

.../base/collection/low_level/collection2.li line #42

Section:
Public

Profile:
- SelfSELFcolumn_minimum : INTEGER

Description:
Equivalent of lower2.

line_maximum

.../base/collection/low_level/collection2.li line #59

Section:
Public

Profile:
- SelfSELFline_maximum : INTEGER

Description:
Equivalent of upper1.

column_maximum

.../base/collection/low_level/collection2.li line #62

Section:
Public

Profile:
- SelfSELFcolumn_maximum : INTEGER

Description:
Equivalent of upper2.

Index validity:

valid_line

.../base/collection/low_level/collection2.li line #108

Section:
Public

Profile:
- SelfSELFvalid_line   line : INTEGERBOOLEAN

valid_index1

.../base/collection/low_level/collection2.li line #116

Section:
Public

Profile:
- SelfSELFvalid_index1   line : INTEGERBOOLEAN

valid_column

.../base/collection/low_level/collection2.li line #121

Section:
Public

Profile:
- SelfSELFvalid_column   column : INTEGERBOOLEAN

valid_index2

.../base/collection/low_level/collection2.li line #129

Section:
Public

Profile:
- SelfSELFvalid_index2   column : INTEGERBOOLEAN

valid_index

.../base/collection/low_level/collection2.li line #134

Section:
Public

Profile:
- SelfSELFvalid_index  ( line : INTEGER, column : INTEGER) : BOOLEAN

Counting:

line_count

.../base/collection/low_level/collection2.li line #157

Section:
Public

Profile:
- SelfSELFline_count : INTEGER

Description:
Equivalent of count1.

column_count

.../base/collection/low_level/collection2.li line #170

Section:
Public

Profile:
- SelfSELFcolumn_count : INTEGER

Description:
Equivalent of count2.

clear_all

.../base/collection/low_level/collection2.li line #208

Section:
Public

Profile:
- SelfSELFclear_all 

Description:
Set all items to default values.

Creating or initializing:

copy_collection

.../base/collection/low_level/collection2.li line #250

Section:
Public

Profile:
- SelfSELFcopy_collection   other : COLLECTION2V)

Description:
Copy other to Current.

See:
copy.

Printing:

fill_tagged_out_memory

.../base/collection/low_level/collection2.li line #337

Section:
Public

Profile:
- SelfSELFfill_tagged_out_memory 

Miscellaneous features:

set_area to with

.../base/collection/low_level/collection2.li line #454

Section:
Public

Profile:
- SelfSELFset_area  ( line_min : INTEGER, column_min : INTEGER)  to  ( line_max : INTEGER, column_max : INTEGER)  with   element : V

Description:
Set all the elements of the selected area rectangle with element.