LisaacTM Platform

FAST_ARRAY3


Resizable three dimensional array.Unlike ARRAY3, the `lower1', `lower2' and `lower3' bounds are frozen to 0. Thus, one can expect better performances. .
Inherit/Insert Summary
parent_collection3
parent_safe_equal No developed.
 
Constructor Summary
create
Create or reset Current with new dimensions. All elements are set to the default value of type E.
 
Slot Summary
upper1
Upper index bound for dimension 1.
count1
Size of the first dimension.
upper2
Upper index bound for dimension 2.
count2
Size of the second dimension.
upper3
Upper index bound for dimension 3.
count3
Size of the third dimension.
count
Total number of elements.
storage
capacity
of storage.
lower1
Lower index bound for dimension 1.
lower2
Lower index bound for dimension 2.
lower3
Lower index bound for dimension 3.
make
Create or reset self with new dimensions. All elements are set to the default value of type E.
from_collection3
Uses the model to update self. Uses model to initialize self.
from_collection size
Reset all bounds using new_count#i. Copy all elements of contents, line by line into self.
from_model
The model is used to fill line by line the COLLECTION3. Assume all sub-collections of have the same indexing. The model is used to fill line by line self. Assume all sub-collections have the same dimension.
line_minimum
Equivalent of lower1.
column_minimum
Equivalent of lower2.
depth_minimum
Equivalent of lower3.
line_maximum
Equivalent of upper1.
column_maximum
Equivalent of upper2.
depth_maximum
Equivalent of upper3.
 
Implementation of others feature from COLLECTION3:
item
put to
force to
Put element at position (line,column,depth). Collection is resized first when (line,column,depth) is not inside current bounds. New bounds are initialized with default values.
copy
sub_collection3 to
Create a new object using selected area of self.
 
Writing:
set_all_with
All element are set with the value x. Set all item with value v.
all_default
Do all items have their type's default value?
slice to to
Create a new collection initialized with elements of range low..up. result has the same dynamic type as self collection.
set_slice to to with
Set all the elements in the range [(l1,up1),(l2,up2),(l3,up3)] of self with the element 'element'.
swap with
Swap the element at index (line1,column1,depth1) with the element at index (line2,column2,depth2).
 
Looking and comparison:
occurrences
Number of occurrences using equal.
See also fast_occurrences to choose the apropriate one.
fast_occurrences
Number of occurrences using =.
See also occurrences to choose the apropriate one.
Infix '=='
Do both collections have the same lower1, lower2, lower3, upper1, upper2 and upper3, 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, lower3, upper1, upper2 and upper3, and items?
See also ==.
 
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 choose 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.
 
Index validity:
valid_line
valid_index1
valid_column
valid_index2
valid_depth
valid_index3
valid_index
 
Counting:
line_count
Equivalent of count1.
column_count
Equivalent of count2.
depth_count
Equivalent of count3.
clear_all
Set all items to default values.
 
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_collection3

.../base/collection/fast_array3.li line #14

Section:
Inherit

Profile:
+ SelfSELFparent_collection3 :Expanded  COLLECTION3V)

parent_safe_equal

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

Section:
Inherit

Profile:
- SelfSELFparent_safe_equal : SAFE_EQUALV)

Constructor Detail

create

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

Section:
Public

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

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

Detail slot

upper1

.../base/collection/fast_array3.li line #18

Section:
Public

Profile:
+ SelfSELFupper1 : INTEGER

Description:
Upper index bound for dimension 1.

count1

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

Section:
Public

Profile:
+ SelfSELFcount1 : INTEGER

Description:
Size of the first dimension.

upper2

.../base/collection/fast_array3.li line #21

Section:
Public

Profile:
+ SelfSELFupper2 : INTEGER

Description:
Upper index bound for dimension 2.

count2

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

Section:
Public

Profile:
+ SelfSELFcount2 : INTEGER

Description:
Size of the second dimension.

upper3

.../base/collection/fast_array3.li line #24

Section:
Public

Profile:
+ SelfSELFupper3 : INTEGER

Description:
Upper index bound for dimension 3.

count3

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

Section:
Public

Profile:
+ SelfSELFcount3 : INTEGER

Description:
Size of the third dimension.

count

.../base/collection/fast_array3.li line #27

Section:
Public

Profile:
+ SelfSELFcount : INTEGER

Description:
Total number of elements.

storage

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

Section:
FAST_ARRAY3

Profile:
+ SelfSELFstorage : NATIVE_ARRAYV)

capacity

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

Section:
FAST_ARRAY3

Profile:
+ SelfSELFcapacity : INTEGER

Description:
of storage.

lower1

.../base/collection/fast_array3.li line #43

Section:
Public

Profile:
- SelfSELFlower1 : INTEGER

Description:
Lower index bound for dimension 1.

lower2

.../base/collection/fast_array3.li line #45

Section:
Public

Profile:
- SelfSELFlower2 : INTEGER

Description:
Lower index bound for dimension 2.

lower3

.../base/collection/fast_array3.li line #47

Section:
Public

Profile:
- SelfSELFlower3 : INTEGER

Description:
Lower index bound for dimension 3.

make

.../base/collection/fast_array3.li line #59

Section:
Public

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

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

from_collection3

.../base/collection/fast_array3.li line #90

Section:
Public

Profile:
- SelfSELFfrom_collection3   model : COLLECTION3V)

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

from_collection size

.../base/collection/fast_array3.li line #103

Section:
Public

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

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

from_model

.../base/collection/fast_array3.li line #126

Section:
Public

Profile:
- SelfSELFfrom_model   model : COLLECTIONCOLLECTIONCOLLECTIONV)))

Description:
The model is used to fill line by line the COLLECTION3. Assume all sub-collections of have the same indexing. The model is used to fill line by line self. Assume all sub-collections have the same dimension.

line_minimum

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

Section:
Public

Profile:
- SelfSELFline_minimum : INTEGER

Description:
Equivalent of lower1.

column_minimum

.../base/collection/low_level/collection3.li line #45

Section:
Public

Profile:
- SelfSELFcolumn_minimum : INTEGER

Description:
Equivalent of lower2.

depth_minimum

.../base/collection/low_level/collection3.li line #48

Section:
Public

Profile:
- SelfSELFdepth_minimum : INTEGER

Description:
Equivalent of lower3.

line_maximum

.../base/collection/low_level/collection3.li line #72

Section:
Public

Profile:
- SelfSELFline_maximum : INTEGER

Description:
Equivalent of upper1.

column_maximum

.../base/collection/low_level/collection3.li line #75

Section:
Public

Profile:
- SelfSELFcolumn_maximum : INTEGER

Description:
Equivalent of upper2.

depth_maximum

.../base/collection/low_level/collection3.li line #78

Section:
Public

Profile:
- SelfSELFdepth_maximum : INTEGER

Description:
Equivalent of upper3.

Implementation of others feature from COLLECTION3:

item

.../base/collection/fast_array3.li line #156

Section:
Public

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

put to

.../base/collection/fast_array3.li line #161

Section:
Public

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

force to

.../base/collection/fast_array3.li line #167

Section:
Public

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

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

copy

.../base/collection/fast_array3.li line #176

Section:
Public

Profile:
- SelfSELFcopy   other : SELF

sub_collection3 to

.../base/collection/fast_array3.li line #194

Section:
Public

Profile:
- SelfSELFsub_collection3  ( line_min : INTEGER, column_min : INTEGER, depth_min : INTEGER)  to  ( line_max : INTEGER, column_max : INTEGER, depth_max : INTEGER) : SELF

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

Writing:

set_all_with

.../base/collection/fast_array3.li line #224

Section:
Public

Profile:
- SelfSELFset_all_with   x : V

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

all_default

.../base/collection/fast_array3.li line #230

Section:
Public

Profile:
- SelfSELFall_default : BOOLEAN

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

slice to to

.../base/collection/fast_array3.li line #235

Section:
Public

Profile:
- SelfSELFslice  ( l1 : INTEGER, up1 : INTEGER)  to  ( l2 : INTEGER, up2 : INTEGER)  to  ( l3 : INTEGER, up3 : 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 to with

.../base/collection/fast_array3.li line #251

Section:
Public

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

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

swap with

.../base/collection/fast_array3.li line #265

Section:
Public

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

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

Looking and comparison:

occurrences

.../base/collection/fast_array3.li line #281

Section:
Public

Profile:
- SelfSELFoccurrences   elt : VINTEGER

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

fast_occurrences

.../base/collection/fast_array3.li line #286

Section:
Public

Profile:
- SelfSELFfast_occurrences   elt : VINTEGER

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

Infix '=='

.../base/collection/low_level/collection3.li line #276

Section:
Public

Profile:
- SelfSELF== '  other : COLLECTION3V) : BOOLEAN

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

is_equal_map

.../base/collection/low_level/collection3.li line #311

Section:
Public

Profile:
- SelfSELFis_equal_map   other : COLLECTION3V) : BOOLEAN

Description:
Do both collections have the same lower1, lower2, lower3, upper1, upper2 and upper3, and items?
See also ==.

Resizing:

resize

.../base/collection/fast_array3.li line #295

Section:
Public

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

Looking and Searching:

has

.../base/collection/fast_array3.li line #332

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 choose the apropriate one.

fast_has

.../base/collection/fast_array3.li line #342

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_array3.li line #356

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_array3.li line #362

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.

Index validity:

valid_line

.../base/collection/low_level/collection3.li line #126

Section:
Public

Profile:
- SelfSELFvalid_line   line : INTEGERBOOLEAN

valid_index1

.../base/collection/low_level/collection3.li line #132

Section:
Public

Profile:
- SelfSELFvalid_index1   line : INTEGERBOOLEAN

valid_column

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

Section:
Public

Profile:
- SelfSELFvalid_column   column : INTEGERBOOLEAN

valid_index2

.../base/collection/low_level/collection3.li line #140

Section:
Public

Profile:
- SelfSELFvalid_index2   column : INTEGERBOOLEAN

valid_depth

.../base/collection/low_level/collection3.li line #142

Section:
Public

Profile:
- SelfSELFvalid_depth   depth : INTEGERBOOLEAN

valid_index3

.../base/collection/low_level/collection3.li line #148

Section:
Public

Profile:
- SelfSELFvalid_index3   depth : INTEGERBOOLEAN

valid_index

.../base/collection/low_level/collection3.li line #150

Section:
Public

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

Counting:

line_count

.../base/collection/low_level/collection3.li line #169

Section:
Public

Profile:
- SelfSELFline_count : INTEGER

Description:
Equivalent of count1.

column_count

.../base/collection/low_level/collection3.li line #180

Section:
Public

Profile:
- SelfSELFcolumn_count : INTEGER

Description:
Equivalent of count2.

depth_count

.../base/collection/low_level/collection3.li line #191

Section:
Public

Profile:
- SelfSELFdepth_count : INTEGER

Description:
Equivalent of count3.

clear_all

.../base/collection/low_level/collection3.li line #225

Section:
Public

Profile:
- SelfSELFclear_all 

Description:
Set all items to default values.

Printing:

fill_tagged_out_memory

.../base/collection/low_level/collection3.li line #349

Section:
Public

Profile:
- SelfSELFfill_tagged_out_memory 

Miscellaneous features:

set_area to with

.../base/collection/low_level/collection3.li line #482

Section:
Public

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

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