File: NATIVE_ARRAY_VOLATILE.html

package info (click to toggle)
lisaac 1%3A0.13.1-3
  • links: PTS
  • area: main
  • in suites: squeeze
  • size: 15,276 kB
  • ctags: 6,396
  • sloc: ansic: 242,479; xml: 635; lisp: 333; makefile: 116; sh: 73; asm: 38
file content (281 lines) | stat: -rwxr-xr-x 33,916 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
<!DOCTYPE HTML SYSTEM>
<!-- Generated by Lisaac shorter / html style -->
<html>
<head>
<title>
Lisaac prototype interface
</title>
</head>
<body BGCOLOR="#FFFFFF">

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
<br><br><strong><font color="#A020F0">Section</font></strong> <strong><font color="#A020F0">Header</font></strong>
 
  <br><br><strong><font color="#FF0000">&nbsp &nbsp +</font></strong> <strong><font color="#0000FF">name</font></strong>        := <strong><font color="#A020F0">Strict</font></strong> <a href="NATIVE_ARRAY_VOLATILE.html"><font color="#008000">NATIVE_ARRAY_VOLATILE</font></a>[<font color="#008000">E</font>];
    
  <br><br><strong><font color="#FF0000">&nbsp &nbsp -</font></strong> <strong><font color="#0000FF">comment</font></strong>     :=<font color="#BC8F8F">"Native array of collection library."</font>;
  
  <br><font FACE="Sans-serif" color="#000000"><B> This class gives access to the lowest level for arrays. As any low level array, you can</B></font>
  <br><font FACE="Sans-serif" color="#000000"><B> get high performances with NATIVE_ARRAYs, but you loose most valid bounds checks (as</B></font>
  <br><font FACE="Sans-serif" color="#000000"><B> you can do in plain C code for example).</B></font>
    
<br><br><strong><font color="#A020F0">Section</font></strong> <strong><font color="#A020F0">Inherit</font></strong>
  
  <br><br><strong><font color="#FF0000">&nbsp &nbsp -</font></strong> <strong><font color="#0000FF">parent_safe_equal</font></strong>:<a href="SAFE_EQUAL.html"><font color="#008000">SAFE_EQUAL</font></a>[<font color="#008000">E</font>] := 
  
<br><br><strong><font color="#A020F0">Section</font></strong> <strong><font color="#A020F0">Public</font></strong>  
  
  <br><font FACE="Sans-serif" color="#000000"><B></B></font>
  <br><font FACE="Sans-serif" color="#000000"><B> Basic features:</B></font>
  <br><font FACE="Sans-serif" color="#000000"><B></B></font>
  
  <br><br><strong><font color="#FF0000">&nbsp &nbsp -</font></strong> <strong><font color="#0000FF">object_size</font></strong>:<a href="INTEGER.html"><font color="#008000">INTEGER</font></a> :=  <br><em><strong><font color="#707070">&nbsp &nbsp &nbsp &nbsp  For detect error.</font></strong></em>
  
  <br><br><strong><font color="#FF0000">&nbsp &nbsp -</font></strong> <strong><font color="#0000FF">element_sizeof</font></strong>:<a href="INTEGER.html"><font color="#008000">INTEGER</font></a> <- 
  <br><em><strong><font color="#707070">&nbsp &nbsp &nbsp &nbsp  The size in number of bytes for type `E'.</font></strong></em>
    
  <br><br><strong><font color="#FF0000">&nbsp &nbsp -</font></strong> <strong><font color="#0000FF">calloc_intern</font></strong> nb_elements:<a href="INTEGER.html"><font color="#008000">INTEGER</font></a> :<a href="NATIVE_ARRAY_VOLATILE.html"><font color="#008000">NATIVE_ARRAY_VOLATILE</font></a>[<font color="#008000">E</font>] <-
  <br><em><strong><font color="#707070">&nbsp &nbsp &nbsp &nbsp  Allocate a new array of 'nb_elements' of type `E'.</font></strong></em>
  <br><em><strong><font color="#707070">&nbsp &nbsp &nbsp &nbsp  The new array is initialized with default values.</font></strong></em>
    
  <br><br><strong><font color="#FF0000">&nbsp &nbsp -</font></strong> <strong><font color="#0000FF">create</font></strong> nb_elements:<a href="INTEGER.html"><font color="#008000">INTEGER</font></a> :<a href="NATIVE_ARRAY_VOLATILE.html"><font color="#008000">NATIVE_ARRAY_VOLATILE</font></a>[<font color="#008000">E</font>] <-
  <br><em><strong><font color="#707070">&nbsp &nbsp &nbsp &nbsp  Allocate a new array of `nb_elements' of type `E'.</font></strong></em>
  <br><em><strong><font color="#707070">&nbsp &nbsp &nbsp &nbsp  The new array is initialized with default values.</font></strong></em>
    
  <br><br><strong><font color="#FF0000">&nbsp &nbsp -</font></strong> <strong><font color="#0000FF">realloc</font></strong> old_nb_elts:<a href="INTEGER.html"><font color="#008000">INTEGER</font></a> <strong><font color="#0000FF">with</font></strong> new_nb_elts:<a href="INTEGER.html"><font color="#008000">INTEGER</font></a> :<a href="NATIVE_ARRAY_VOLATILE.html"><font color="#008000">NATIVE_ARRAY_VOLATILE</font></a>[<font color="#008000">E</font>] <-
  <br><em><strong><font color="#707070">&nbsp &nbsp &nbsp &nbsp  Assume Current is a valid NATIVE_ARRAY_VOLATILE in range</font></strong></em>
  <br><em><strong><font color="#707070">&nbsp &nbsp &nbsp &nbsp  [0 .. `old_nb_elts'-1]. Allocate a bigger new array in</font></strong></em>
  <br><em><strong><font color="#707070">&nbsp &nbsp &nbsp &nbsp  range [0 .. `new_nb_elts'-1].</font></strong></em>
  <br><em><strong><font color="#707070">&nbsp &nbsp &nbsp &nbsp  Old range is copied in the new allocated array.</font></strong></em>
  <br><em><strong><font color="#707070">&nbsp &nbsp &nbsp &nbsp  New items are initialized with default values.</font></strong></em>
    
  <br><br><strong><font color="#FF0000">&nbsp &nbsp -</font></strong> <strong><font color="#0000FF">first</font></strong>:<font color="#008000">E</font> <- 
    
  <br><br><strong><font color="#FF0000">&nbsp &nbsp -</font></strong> <strong><font color="#0000FF">item</font></strong> index:<a href="INTEGER.html"><font color="#008000">INTEGER</font></a> :<font color="#008000">E</font> <-
  <br><em><strong><font color="#707070">&nbsp &nbsp &nbsp &nbsp  To read an `item'.</font></strong></em>
  <br><em><strong><font color="#707070">&nbsp &nbsp &nbsp &nbsp  Assume that `calloc' is already done and that `index' is </font></strong></em>
  <br><em><strong><font color="#707070">&nbsp &nbsp &nbsp &nbsp  the range [0 .. `nb_elements'-1].</font></strong></em>
    
  <br><br><strong><font color="#FF0000">&nbsp &nbsp -</font></strong> <strong><font color="#0000FF">put</font></strong> element:<font color="#008000">E</font> <strong><font color="#0000FF">to</font></strong> index:<a href="INTEGER.html"><font color="#008000">INTEGER</font></a> <-
  <br><em><strong><font color="#707070">&nbsp &nbsp &nbsp &nbsp  To write an item.</font></strong></em>
  <br><em><strong><font color="#707070">&nbsp &nbsp &nbsp &nbsp  Assume that `calloc' is already done and that `index'</font></strong></em>
  <br><em><strong><font color="#707070">&nbsp &nbsp &nbsp &nbsp  is the range [0 .. `nb_elements'-1].</font></strong></em>
    
  <br><font FACE="Sans-serif" color="#000000"><B></B></font>
  <br><font FACE="Sans-serif" color="#000000"><B> Displacement</B></font>
  <br><font FACE="Sans-serif" color="#000000"><B></B></font>
  
  <br><br><strong><font color="#FF0000">&nbsp &nbsp -</font></strong> '<font color="#B8860B">+</font>' <strong><font color="#A020F0">Left</font></strong> <font color="#A020F0">80</font> other:<a href="INTEGER.html"><font color="#008000">INTEGER</font></a> :<a href="NATIVE_ARRAY_VOLATILE.html"><font color="#008000">NATIVE_ARRAY_VOLATILE</font></a>[<font color="#008000">E</font>] <- 
  <br><em><strong><font color="#707070">&nbsp &nbsp &nbsp &nbsp  other is in element index</font></strong></em>
    
  <br><font FACE="Sans-serif" color="#000000"><B></B></font>
  <br><font FACE="Sans-serif" color="#000000"><B> Comparison:</B></font>
  <br><font FACE="Sans-serif" color="#000000"><B></B></font>
  
  <br><br><strong><font color="#FF0000">&nbsp &nbsp -</font></strong> <strong><font color="#0000FF">memcmp</font></strong> other:<a href="NATIVE_ARRAY_VOLATILE.html"><font color="#008000">NATIVE_ARRAY_VOLATILE</font></a>[<font color="#008000">E</font>] <strong><font color="#0000FF">until</font></strong> capacity:<a href="INTEGER.html"><font color="#008000">INTEGER</font></a> :<a href="BOOLEAN.html"><font color="#008000">BOOLEAN</font></a> <-
  <br><em><strong><font color="#707070">&nbsp &nbsp &nbsp &nbsp  True if all elements in range [0..capacity-1] are</font></strong></em>
  <br><em><strong><font color="#707070">&nbsp &nbsp &nbsp &nbsp  identical using `equal'. Assume Current and `other'</font></strong></em>
  <br><em><strong><font color="#707070">&nbsp &nbsp &nbsp &nbsp  are big enough.</font></strong></em>
  <br><em><strong><font color="#707070">&nbsp &nbsp &nbsp &nbsp  See also `fast_memcmp'.</font></strong></em>
    
  <br><br><strong><font color="#FF0000">&nbsp &nbsp -</font></strong> <strong><font color="#0000FF">slice_memcmp</font></strong> (at:<a href="INTEGER.html"><font color="#008000">INTEGER</font></a>,other:<a href="NATIVE_ARRAY_VOLATILE.html"><font color="#008000">NATIVE_ARRAY_VOLATILE</font></a>[<font color="#008000">E</font>],other_lower,other_upper:<a href="INTEGER.html"><font color="#008000">INTEGER</font></a>) :<a href="BOOLEAN.html"><font color="#008000">BOOLEAN</font></a> <-
  <br><em><strong><font color="#707070">&nbsp &nbsp &nbsp &nbsp  True if all elements in range [0 .. `other_upper' - `other_lower'] are identical</font></strong></em>
  <br><em><strong><font color="#707070">&nbsp &nbsp &nbsp &nbsp  to the elements in range [`other_lower' .. `other_upper'] of `other' using</font></strong></em>
  <br><em><strong><font color="#707070">&nbsp &nbsp &nbsp &nbsp  `is_equal'. Assume `Current' and `other' are big enough.</font></strong></em>
  <br><em><strong><font color="#707070">&nbsp &nbsp &nbsp &nbsp  See also `slice_fast_memcmp'.</font></strong></em>
    
  <br><br><strong><font color="#FF0000">&nbsp &nbsp -</font></strong> <strong><font color="#0000FF">fast_memcmp</font></strong> other:<a href="NATIVE_ARRAY_VOLATILE.html"><font color="#008000">NATIVE_ARRAY_VOLATILE</font></a>[<font color="#008000">E</font>] <strong><font color="#0000FF">until</font></strong> capacity:<a href="INTEGER.html"><font color="#008000">INTEGER</font></a> :<a href="BOOLEAN.html"><font color="#008000">BOOLEAN</font></a> <-
  <br><em><strong><font color="#707070">&nbsp &nbsp &nbsp &nbsp  Same jobs as `memcmp' but uses infix `=' instead `equal'.</font></strong></em>
    
  <br><br><strong><font color="#FF0000">&nbsp &nbsp -</font></strong> <strong><font color="#0000FF">slice_fast_memcmp</font></strong> (at:<a href="INTEGER.html"><font color="#008000">INTEGER</font></a>, other:<a href="NATIVE_ARRAY_VOLATILE.html"><font color="#008000">NATIVE_ARRAY_VOLATILE</font></a>[<font color="#008000">E</font>], other_lower,other_upper:<a href="INTEGER.html"><font color="#008000">INTEGER</font></a>) :<a href="BOOLEAN.html"><font color="#008000">BOOLEAN</font></a> <-
  <br><em><strong><font color="#707070">&nbsp &nbsp &nbsp &nbsp  Same jobs as `slice_memcmp' but uses infix "=" instead of `is_equal'.</font></strong></em>
  			
  <br><br><strong><font color="#FF0000">&nbsp &nbsp -</font></strong> <strong><font color="#0000FF">deep_memcmp</font></strong> other:<a href="NATIVE_ARRAY_VOLATILE.html"><font color="#008000">NATIVE_ARRAY_VOLATILE</font></a>[<font color="#008000">E</font>] <strong><font color="#0000FF">until</font></strong> capacity:<a href="INTEGER.html"><font color="#008000">INTEGER</font></a> :<a href="BOOLEAN.html"><font color="#008000">BOOLEAN</font></a> <-
  <br><em><strong><font color="#707070">&nbsp &nbsp &nbsp &nbsp  Same jobs as `memcmp' but uses `is_deep_equal' instead `equal'.</font></strong></em>
    
  <br><br><strong><font color="#FF0000">&nbsp &nbsp -</font></strong> <strong><font color="#0000FF">slice_deep_memcmp</font></strong> (at:<a href="INTEGER.html"><font color="#008000">INTEGER</font></a>,other:<a href="NATIVE_ARRAY_VOLATILE.html"><font color="#008000">NATIVE_ARRAY_VOLATILE</font></a>[<font color="#008000">E</font>],other_lower,other_upper:<a href="INTEGER.html"><font color="#008000">INTEGER</font></a>) :<a href="BOOLEAN.html"><font color="#008000">BOOLEAN</font></a> <-
  <br><em><strong><font color="#707070">&nbsp &nbsp &nbsp &nbsp  Same jobs as `slice_memcmp' but uses `is_deep_equal' instead of `is_equal'.</font></strong></em>
    
  <br><font FACE="Sans-serif" color="#000000"><B></B></font>
  <br><font FACE="Sans-serif" color="#000000"><B> Searching:</B></font>
  <br><font FACE="Sans-serif" color="#000000"><B></B></font>
  
  <br><br><strong><font color="#FF0000">&nbsp &nbsp -</font></strong> <strong><font color="#0000FF">first_index_of</font></strong> element:<font color="#008000">E</font> <strong><font color="#0000FF">until</font></strong> upper:<a href="INTEGER.html"><font color="#008000">INTEGER</font></a> :<a href="INTEGER.html"><font color="#008000">INTEGER</font></a> <-
  <br><em><strong><font color="#707070">&nbsp &nbsp &nbsp &nbsp  Give the index of the first occurrence of `element' using</font></strong></em>
  <br><em><strong><font color="#707070">&nbsp &nbsp &nbsp &nbsp  `==' for comparison.</font></strong></em>
  <br><em><strong><font color="#707070">&nbsp &nbsp &nbsp &nbsp  Answer `upper + 1' when `element' is not inside.</font></strong></em>
  <br><em><strong><font color="#707070">&nbsp &nbsp &nbsp &nbsp  See also `fast_index_of', `reverse_index_of'.</font></strong></em>
    
  <br><br><strong><font color="#FF0000">&nbsp &nbsp -</font></strong> <strong><font color="#0000FF">index_of</font></strong> (element:<font color="#008000">E</font>,start_index:<a href="INTEGER.html"><font color="#008000">INTEGER</font></a>) <strong><font color="#0000FF">until</font></strong> upper:<a href="INTEGER.html"><font color="#008000">INTEGER</font></a> :<a href="INTEGER.html"><font color="#008000">INTEGER</font></a> <-
  <br><em><strong><font color="#707070">&nbsp &nbsp &nbsp &nbsp  Using `is_equal' for comparison, gives the index of the first occurrence of `element' </font></strong></em>
  <br><em><strong><font color="#707070">&nbsp &nbsp &nbsp &nbsp  at or after `start_index'. Answer `upper + 1' when the search fail.</font></strong></em>
  <br><em><strong><font color="#707070">&nbsp &nbsp &nbsp &nbsp  See also `fast_index_of', `reverse_index_of'.</font></strong></em>
    
  <br><br><strong><font color="#FF0000">&nbsp &nbsp -</font></strong> <strong><font color="#0000FF">reverse_index_of</font></strong> element:<font color="#008000">E</font> <strong><font color="#0000FF">from</font></strong> upper:<a href="INTEGER.html"><font color="#008000">INTEGER</font></a> :<a href="INTEGER.html"><font color="#008000">INTEGER</font></a> <-
  <br><em><strong><font color="#707070">&nbsp &nbsp &nbsp &nbsp  Give the index of the first occurrence of `element' using</font></strong></em>
  <br><em><strong><font color="#707070">&nbsp &nbsp &nbsp &nbsp  `==' for comparison, from upper to lower.</font></strong></em>
  <br><em><strong><font color="#707070">&nbsp &nbsp &nbsp &nbsp  Answer -1 when `element' is not inside.</font></strong></em>
    
  <br><br><strong><font color="#FF0000">&nbsp &nbsp -</font></strong> <strong><font color="#0000FF">fast_index_of</font></strong> (element:<font color="#008000">E</font>,start_index:<a href="INTEGER.html"><font color="#008000">INTEGER</font></a>) <strong><font color="#0000FF">until</font></strong> upper:<a href="INTEGER.html"><font color="#008000">INTEGER</font></a> :<a href="INTEGER.html"><font color="#008000">INTEGER</font></a> <-
  <br><em><strong><font color="#707070">&nbsp &nbsp &nbsp &nbsp  Using basic `=' for comparison, gives the index of the first occurrence of </font></strong></em>
  <br><em><strong><font color="#707070">&nbsp &nbsp &nbsp &nbsp  `element' at or after `start_index'. Answer `upper + 1' when the search fail.</font></strong></em>
  <br><em><strong><font color="#707070">&nbsp &nbsp &nbsp &nbsp  See also `index_of', `reverse_index_of'.</font></strong></em>
    
  <br><br><strong><font color="#FF0000">&nbsp &nbsp -</font></strong> <strong><font color="#0000FF">fast_reverse_index_of</font></strong> element:<font color="#008000">E</font> <strong><font color="#0000FF">from</font></strong> upper:<a href="INTEGER.html"><font color="#008000">INTEGER</font></a> :<a href="INTEGER.html"><font color="#008000">INTEGER</font></a> <-
  <br><em><strong><font color="#707070">&nbsp &nbsp &nbsp &nbsp  Same as `reverse_index_of' but use basic `=' for comparison.</font></strong></em>
  <br><em><strong><font color="#707070">&nbsp &nbsp &nbsp &nbsp  Search is done in reverse direction, which means from `upper' down to the</font></strong></em>
  <br><em><strong><font color="#707070">&nbsp &nbsp &nbsp &nbsp  `0'. Answer `-1' when the search fail.</font></strong></em>
  <br><em><strong><font color="#707070">&nbsp &nbsp &nbsp &nbsp  See also `reverse_index_of', `index_of'.</font></strong></em>
  
  <br><br><strong><font color="#FF0000">&nbsp &nbsp -</font></strong> <strong><font color="#0000FF">fast_first_index_of</font></strong> element:<font color="#008000">E</font> <strong><font color="#0000FF">until</font></strong> upper:<a href="INTEGER.html"><font color="#008000">INTEGER</font></a> :<a href="INTEGER.html"><font color="#008000">INTEGER</font></a> <-
  <br><em><strong><font color="#707070">&nbsp &nbsp &nbsp &nbsp  Same as `index_of' but use basic `=' for comparison.</font></strong></em>
  <br><em><strong><font color="#707070">&nbsp &nbsp &nbsp &nbsp  `0'. Answer `upper + 1' when the search fail.</font></strong></em>
  <br><em><strong><font color="#707070">&nbsp &nbsp &nbsp &nbsp  See also `fast_index_of', `reverse_index_of'.</font></strong></em>
    
  <br><br><strong><font color="#FF0000">&nbsp &nbsp -</font></strong> <strong><font color="#0000FF">has</font></strong> element:<font color="#008000">E</font> <strong><font color="#0000FF">until</font></strong> upper:<a href="INTEGER.html"><font color="#008000">INTEGER</font></a> :<a href="BOOLEAN.html"><font color="#008000">BOOLEAN</font></a> <-
  <br><em><strong><font color="#707070">&nbsp &nbsp &nbsp &nbsp  Look for `element' using `==' for comparison.</font></strong></em>
  <br><em><strong><font color="#707070">&nbsp &nbsp &nbsp &nbsp  Also consider `has' to choose the most appropriate.</font></strong></em>
    
  <br><br><strong><font color="#FF0000">&nbsp &nbsp -</font></strong> <strong><font color="#0000FF">fast_has</font></strong> element:<font color="#008000">E</font> <strong><font color="#0000FF">until</font></strong> upper:<a href="INTEGER.html"><font color="#008000">INTEGER</font></a> :<a href="BOOLEAN.html"><font color="#008000">BOOLEAN</font></a> <-
  <br><em><strong><font color="#707070">&nbsp &nbsp &nbsp &nbsp  Look for `element' using basic `=' for comparison.</font></strong></em>
  <br><em><strong><font color="#707070">&nbsp &nbsp &nbsp &nbsp  Also consider `has' to choose the most appropriate.</font></strong></em>
    
  <br><font FACE="Sans-serif" color="#000000"><B></B></font>
  <br><font FACE="Sans-serif" color="#000000"><B> Removing:</B></font>
  <br><font FACE="Sans-serif" color="#000000"><B></B></font>
  
  <br><br><strong><font color="#FF0000">&nbsp &nbsp -</font></strong> <strong><font color="#0000FF">remove_first</font></strong> upper:<a href="INTEGER.html"><font color="#008000">INTEGER</font></a> <-
  <br><em><strong><font color="#707070">&nbsp &nbsp &nbsp &nbsp  Assume `upper' is a valid index.</font></strong></em>
  <br><em><strong><font color="#707070">&nbsp &nbsp &nbsp &nbsp  Move range [1 .. `upper'] by 1 position left.</font></strong></em>
    
  <br><br><strong><font color="#FF0000">&nbsp &nbsp -</font></strong> <strong><font color="#0000FF">remove</font></strong> index:<a href="INTEGER.html"><font color="#008000">INTEGER</font></a> <strong><font color="#0000FF">until</font></strong> upper:<a href="INTEGER.html"><font color="#008000">INTEGER</font></a> <-
  <br><em><strong><font color="#707070">&nbsp &nbsp &nbsp &nbsp  Assume `upper' is a valid index.</font></strong></em>
  <br><em><strong><font color="#707070">&nbsp &nbsp &nbsp &nbsp  Move range [`index' + 1 .. `upper'] by 1 position left.</font></strong></em>
    
  <br><font FACE="Sans-serif" color="#000000"><B></B></font>
  <br><font FACE="Sans-serif" color="#000000"><B> Replacing:</B></font>
  <br><font FACE="Sans-serif" color="#000000"><B></B></font>
  
  <br><br><strong><font color="#FF0000">&nbsp &nbsp -</font></strong> <strong><font color="#0000FF">replace_all</font></strong> old_value:<font color="#008000">E</font> <strong><font color="#0000FF">with</font></strong> new_value:<font color="#008000">E</font> <strong><font color="#0000FF">until</font></strong> upper:<a href="INTEGER.html"><font color="#008000">INTEGER</font></a> <-
  <br><em><strong><font color="#707070">&nbsp &nbsp &nbsp &nbsp  Replace all occurences of the element `old_value' by `new_value'</font></strong></em>
  <br><em><strong><font color="#707070">&nbsp &nbsp &nbsp &nbsp  using `==' for comparison.</font></strong></em>
  <br><em><strong><font color="#707070">&nbsp &nbsp &nbsp &nbsp  See also `fast_replace_all' to choose the apropriate one.</font></strong></em>
    
  <br><br><strong><font color="#FF0000">&nbsp &nbsp -</font></strong> <strong><font color="#0000FF">fast_replace_all</font></strong> old_value:<font color="#008000">E</font> <strong><font color="#0000FF">with</font></strong> new_value:<font color="#008000">E</font> <strong><font color="#0000FF">until</font></strong> upper:<a href="INTEGER.html"><font color="#008000">INTEGER</font></a> <-
  <br><em><strong><font color="#707070">&nbsp &nbsp &nbsp &nbsp  Replace all occurences of the element `old_value' by `new_value'</font></strong></em>
  <br><em><strong><font color="#707070">&nbsp &nbsp &nbsp &nbsp  using basic `=' for comparison.</font></strong></em>
  <br><em><strong><font color="#707070">&nbsp &nbsp &nbsp &nbsp  See also `replace_all' to choose the apropriate one.</font></strong></em>
    
  <br><font FACE="Sans-serif" color="#000000"><B></B></font>
  <br><font FACE="Sans-serif" color="#000000"><B> Adding:</B></font>
  <br><font FACE="Sans-serif" color="#000000"><B></B></font>
    
  <br><br><strong><font color="#FF0000">&nbsp &nbsp -</font></strong> <strong><font color="#0000FF">copy</font></strong> src:<a href="NATIVE_ARRAY_VOLATILE.html"><font color="#008000">NATIVE_ARRAY_VOLATILE</font></a>[<font color="#008000">E</font>] <strong><font color="#0000FF">to</font></strong> dest:<a href="INTEGER.html"><font color="#008000">INTEGER</font></a> <strong><font color="#0000FF">until</font></strong> src_capacity:<a href="INTEGER.html"><font color="#008000">INTEGER</font></a> <-
  <br><em><strong><font color="#707070">&nbsp &nbsp &nbsp &nbsp  Copy range [0 .. `src_capacity - 1'] of `src' to range</font></strong></em>
  <br><em><strong><font color="#707070">&nbsp &nbsp &nbsp &nbsp  [`dest' .. `dest + src_capacity - 1'] of `Self'.</font></strong></em>
  <br><em><strong><font color="#707070">&nbsp &nbsp &nbsp &nbsp  No subscript checking.</font></strong></em>
    
  <br><br><strong><font color="#FF0000">&nbsp &nbsp -</font></strong> <strong><font color="#0000FF">slice_copy</font></strong> src:<a href="NATIVE_ARRAY_VOLATILE.html"><font color="#008000">NATIVE_ARRAY_VOLATILE</font></a>[<font color="#008000">E</font>] <strong><font color="#0000FF">to</font></strong> dest:<a href="INTEGER.html"><font color="#008000">INTEGER</font></a> <strong><font color="#0000FF">from</font></strong> src_min:<a href="INTEGER.html"><font color="#008000">INTEGER</font></a> <strong><font color="#0000FF">to</font></strong> src_max:<a href="INTEGER.html"><font color="#008000">INTEGER</font></a> <-
  <br><em><strong><font color="#707070">&nbsp &nbsp &nbsp &nbsp  Copy range [`src_min' .. `src_max'] of `src' to range</font></strong></em>
  <br><em><strong><font color="#707070">&nbsp &nbsp &nbsp &nbsp  [`at' .. `at + src_max - src_min - 1'] of `Current'.</font></strong></em>
  <br><em><strong><font color="#707070">&nbsp &nbsp &nbsp &nbsp  No subscript checking.</font></strong></em>
    
  <br><font FACE="Sans-serif" color="#000000"><B></B></font>
  <br><font FACE="Sans-serif" color="#000000"><B> Other:</B></font>
  <br><font FACE="Sans-serif" color="#000000"><B></B></font>
  
  <br><br><strong><font color="#FF0000">&nbsp &nbsp -</font></strong> <strong><font color="#0000FF">set_all_with</font></strong> v:<font color="#008000">E</font> <strong><font color="#0000FF">until</font></strong> upper:<a href="INTEGER.html"><font color="#008000">INTEGER</font></a> <-
  <br><em><strong><font color="#707070">&nbsp &nbsp &nbsp &nbsp  Set all elements in range [0 .. upper] with</font></strong></em>
  <br><em><strong><font color="#707070">&nbsp &nbsp &nbsp &nbsp  value `v'.</font></strong></em>
    
  <br><br><strong><font color="#FF0000">&nbsp &nbsp -</font></strong> <strong><font color="#0000FF">set_slice_with</font></strong> v:<font color="#008000">E</font> <strong><font color="#0000FF">from</font></strong> lower:<a href="INTEGER.html"><font color="#008000">INTEGER</font></a> <strong><font color="#0000FF">until</font></strong> upper:<a href="INTEGER.html"><font color="#008000">INTEGER</font></a> <-
  <br><em><strong><font color="#707070">&nbsp &nbsp &nbsp &nbsp  Set all elements in range [`lower' .. `upper'] with value `v'.</font></strong></em>
    
  <br><br><strong><font color="#FF0000">&nbsp &nbsp -</font></strong> <strong><font color="#0000FF">clear_all</font></strong> upper:<a href="INTEGER.html"><font color="#008000">INTEGER</font></a> <-
  <br><em><strong><font color="#707070">&nbsp &nbsp &nbsp &nbsp  Set all elements in range [0 .. `upper'] with</font></strong></em>
  <br><em><strong><font color="#707070">&nbsp &nbsp &nbsp &nbsp  the default value.</font></strong></em>
    
  <br><br><strong><font color="#FF0000">&nbsp &nbsp -</font></strong> <strong><font color="#0000FF">clear</font></strong> lower:<a href="INTEGER.html"><font color="#008000">INTEGER</font></a> <strong><font color="#0000FF">to</font></strong> upper:<a href="INTEGER.html"><font color="#008000">INTEGER</font></a> <-
  <br><em><strong><font color="#707070">&nbsp &nbsp &nbsp &nbsp  Set all elements in range [`lower' .. `upper'] with</font></strong></em>
  <br><em><strong><font color="#707070">&nbsp &nbsp &nbsp &nbsp  the default value</font></strong></em>
    
  <br><br><strong><font color="#FF0000">&nbsp &nbsp -</font></strong> <strong><font color="#0000FF">copy_from</font></strong> model:<a href="NATIVE_ARRAY_VOLATILE.html"><font color="#008000">NATIVE_ARRAY_VOLATILE</font></a>[<font color="#008000">E</font>] <strong><font color="#0000FF">until</font></strong> upper:<a href="INTEGER.html"><font color="#008000">INTEGER</font></a> <-
  <br><em><strong><font color="#707070">&nbsp &nbsp &nbsp &nbsp  Assume `upper' is a valid index both in Current and `model'.</font></strong></em>
    
  <br><br><strong><font color="#FF0000">&nbsp &nbsp -</font></strong> <strong><font color="#0000FF">deep_twin_from</font></strong> capacity:<a href="INTEGER.html"><font color="#008000">INTEGER</font></a> :<a href="NATIVE_ARRAY_VOLATILE.html"><font color="#008000">NATIVE_ARRAY_VOLATILE</font></a>[<font color="#008000">E</font>] <-
  <br><em><strong><font color="#707070">&nbsp &nbsp &nbsp &nbsp  To implement `deep_twin'. Allocate a new array of</font></strong></em>
  <br><em><strong><font color="#707070">&nbsp &nbsp &nbsp &nbsp  `capacity' initialized with `deep_twin'.</font></strong></em>
  <br><em><strong><font color="#707070">&nbsp &nbsp &nbsp &nbsp  Assume `capacity' is valid both in Current and `model'.</font></strong></em>
    
  <br><br><strong><font color="#FF0000">&nbsp &nbsp -</font></strong> <strong><font color="#0000FF">move</font></strong> lower:<a href="INTEGER.html"><font color="#008000">INTEGER</font></a> <strong><font color="#0000FF">to</font></strong> upper:<a href="INTEGER.html"><font color="#008000">INTEGER</font></a> <strong><font color="#0000FF">by</font></strong> offset:<a href="INTEGER.html"><font color="#008000">INTEGER</font></a> <-
  <br><em><strong><font color="#707070">&nbsp &nbsp &nbsp &nbsp  Move range [`lower' .. `upper'] by `offset' positions.</font></strong></em>
  <br><em><strong><font color="#707070">&nbsp &nbsp &nbsp &nbsp  Freed positions are not initialized to default values.</font></strong></em>
    
  <br><br><strong><font color="#FF0000">&nbsp &nbsp -</font></strong> <strong><font color="#0000FF">occurrences</font></strong> element:<font color="#008000">E</font> <strong><font color="#0000FF">until</font></strong> upper:<a href="INTEGER.html"><font color="#008000">INTEGER</font></a> :<a href="INTEGER.html"><font color="#008000">INTEGER</font></a> <-
  <br><em><strong><font color="#707070">&nbsp &nbsp &nbsp &nbsp  Number of occurrences of `element' in range [0..upper]</font></strong></em>
  <br><em><strong><font color="#707070">&nbsp &nbsp &nbsp &nbsp  using `equal' for comparison.</font></strong></em>
  <br><em><strong><font color="#707070">&nbsp &nbsp &nbsp &nbsp  See also `fast_occurrences' to chose the apropriate one.</font></strong></em>
    
  <br><br><strong><font color="#FF0000">&nbsp &nbsp -</font></strong> <strong><font color="#0000FF">slice_occurrences</font></strong> element:<font color="#008000">E</font> <strong><font color="#0000FF">from</font></strong> lower:<a href="INTEGER.html"><font color="#008000">INTEGER</font></a> <strong><font color="#0000FF">until</font></strong> upper:<a href="INTEGER.html"><font color="#008000">INTEGER</font></a> :<a href="INTEGER.html"><font color="#008000">INTEGER</font></a> <-
  <br><em><strong><font color="#707070">&nbsp &nbsp &nbsp &nbsp  Number of occurrences of `element' in range [`lower' .. `upper'] using </font></strong></em>
  <br><em><strong><font color="#707070">&nbsp &nbsp &nbsp &nbsp  `is_equal' for comparison.</font></strong></em>
  <br><em><strong><font color="#707070">&nbsp &nbsp &nbsp &nbsp  See also `slice_fast_occurrences' to chose the apropriate one.</font></strong></em>
  
  <br><br><strong><font color="#FF0000">&nbsp &nbsp -</font></strong> <strong><font color="#0000FF">fast_occurrences</font></strong> element:<font color="#008000">E</font> <strong><font color="#0000FF">until</font></strong> upper:<a href="INTEGER.html"><font color="#008000">INTEGER</font></a> :<a href="INTEGER.html"><font color="#008000">INTEGER</font></a> <-
  <br><em><strong><font color="#707070">&nbsp &nbsp &nbsp &nbsp  Number of occurrences of `element' in range [0..upper]</font></strong></em>
  <br><em><strong><font color="#707070">&nbsp &nbsp &nbsp &nbsp  using basic "=" for comparison.</font></strong></em>
  <br><em><strong><font color="#707070">&nbsp &nbsp &nbsp &nbsp  See also `fast_occurrences' to chose the apropriate one.</font></strong></em>
    
  <br><br><strong><font color="#FF0000">&nbsp &nbsp -</font></strong> <strong><font color="#0000FF">slice_fast_occurrences</font></strong> element:<font color="#008000">E</font> <strong><font color="#0000FF">from</font></strong> lower:<a href="INTEGER.html"><font color="#008000">INTEGER</font></a> <strong><font color="#0000FF">until</font></strong> upper:<a href="INTEGER.html"><font color="#008000">INTEGER</font></a> :<a href="INTEGER.html"><font color="#008000">INTEGER</font></a> <-
  <br><em><strong><font color="#707070">&nbsp &nbsp &nbsp &nbsp  Number of occurrences of `element' in range [`lower' .. `upper']</font></strong></em>
  <br><em><strong><font color="#707070">&nbsp &nbsp &nbsp &nbsp  using basic "=" for comparison.</font></strong></em>
  <br><em><strong><font color="#707070">&nbsp &nbsp &nbsp &nbsp  See also `slice_occurrences' to chose the apropriate one.</font></strong></em>
  			
  <br><br><strong><font color="#FF0000">&nbsp &nbsp -</font></strong> <strong><font color="#0000FF">all_default</font></strong> upper:<a href="INTEGER.html"><font color="#008000">INTEGER</font></a> :<a href="BOOLEAN.html"><font color="#008000">BOOLEAN</font></a> <-
  <br><em><strong><font color="#707070">&nbsp &nbsp &nbsp &nbsp  Do all items in range [0 .. `upper'] have their type's</font></strong></em>
  <br><em><strong><font color="#707070">&nbsp &nbsp &nbsp &nbsp  default value?</font></strong></em>
    
  <br><br><strong><font color="#FF0000">&nbsp &nbsp -</font></strong> <strong><font color="#0000FF">slice_default</font></strong> lower:<a href="INTEGER.html"><font color="#008000">INTEGER</font></a> <strong><font color="#0000FF">to</font></strong> upper:<a href="INTEGER.html"><font color="#008000">INTEGER</font></a> :<a href="BOOLEAN.html"><font color="#008000">BOOLEAN</font></a> <-
  <br><em><strong><font color="#707070">&nbsp &nbsp &nbsp &nbsp  Do all items in range [`lower' .. `upper'] have their type's default value?</font></strong></em>
  <br><em><strong><font color="#707070">&nbsp &nbsp &nbsp &nbsp  Note: for non Void items, the test is performed with the `is_default' predicate.</font></strong></em>
    
  <br><font FACE="Sans-serif" color="#000000"><B></B></font>
  <br><font FACE="Sans-serif" color="#000000"><B> Interfacing with C:</B></font>
  <br><font FACE="Sans-serif" color="#000000"><B></B></font>
  
  <br><br><strong><font color="#FF0000">&nbsp &nbsp -</font></strong> <strong><font color="#0000FF">to_external</font></strong>:<a href="POINTER.html"><font color="#008000">POINTER</font></a> <- 
  <br><em><strong><font color="#707070">&nbsp &nbsp &nbsp &nbsp  Gives access to the C pointer on the area of storage.</font></strong></em>
  
  <br><br><strong><font color="#FF0000">&nbsp &nbsp -</font></strong> <strong><font color="#0000FF">is_null</font></strong>:<a href="BOOLEAN.html"><font color="#008000">BOOLEAN</font></a> <- 
  
  <br><br><strong><font color="#FF0000">&nbsp &nbsp -</font></strong> <strong><font color="#0000FF">is_not_null</font></strong>:<a href="BOOLEAN.html"><font color="#008000">BOOLEAN</font></a> <- 
  
  <br><font FACE="Sans-serif" color="#000000"><B></B></font>
  <br><font FACE="Sans-serif" color="#000000"><B> Guru Section</B></font>
  <br><font FACE="Sans-serif" color="#000000"><B></B></font>
  
  <br><br><strong><font color="#FF0000">&nbsp &nbsp -</font></strong> <strong><font color="#0000FF">force_put</font></strong> element:<font color="#008000">E</font> <strong><font color="#0000FF">to</font></strong> index:<a href="INTEGER.html"><font color="#008000">INTEGER</font></a> <-
  <br><em><strong><font color="#707070">&nbsp &nbsp &nbsp &nbsp  Used in Memory count: not to use directly without caution !</font></strong></em>
  
</body>
</html>