flex_array 0.3.2 → 0.3.7

Sign up to get free protection for your applications and to get access to all the features.
Files changed (48) hide show
  1. checksums.yaml +5 -5
  2. data/.gitignore +0 -15
  3. data/.reek.yml +17 -0
  4. data/CODE_OF_CONDUCT.md +49 -0
  5. data/README.md +67 -0
  6. data/bench/benchmark.rb +243 -0
  7. data/bench/results.txt +97 -0
  8. data/flex_array.gemspec +6 -10
  9. data/irbt.rb +18 -0
  10. data/lib/flex_array.rb +13 -30
  11. data/lib/flex_array/array.rb +9 -24
  12. data/lib/flex_array/flex_array_append.rb +4 -23
  13. data/lib/flex_array/flex_array_each.rb +33 -208
  14. data/lib/flex_array/flex_array_forever.rb +6 -4
  15. data/lib/flex_array/flex_array_index.rb +4 -29
  16. data/lib/flex_array/flex_array_new.rb +9 -56
  17. data/lib/flex_array/flex_array_process.rb +23 -63
  18. data/lib/flex_array/flex_array_reshape.rb +13 -23
  19. data/lib/flex_array/flex_array_transpose.rb +7 -16
  20. data/lib/flex_array/flex_array_validate.rb +6 -15
  21. data/lib/flex_array/integer.rb +4 -13
  22. data/lib/flex_array/object.rb +4 -13
  23. data/lib/flex_array/range.rb +4 -13
  24. data/lib/flex_array/spec_array.rb +5 -9
  25. data/lib/flex_array/spec_component.rb +14 -22
  26. data/lib/flex_array/version.rb +1 -2
  27. data/rakefile.rb +1 -24
  28. data/reek.txt +9 -2
  29. data/tests/array_test.rb +0 -4
  30. data/tests/flex_array_append_test.rb +0 -23
  31. data/tests/flex_array_each_test.rb +483 -487
  32. data/tests/flex_array_index_test.rb +0 -4
  33. data/tests/flex_array_new_test.rb +0 -4
  34. data/tests/flex_array_reshape_test.rb +4 -4
  35. data/tests/flex_array_test.rb +0 -4
  36. data/tests/flex_array_transpose_test.rb +0 -4
  37. data/tests/flex_array_validate_test.rb +5 -4
  38. data/tests/integer_test.rb +0 -4
  39. data/tests/object_test.rb +0 -4
  40. data/tests/range_test.rb +0 -4
  41. data/tests/spec_array_test.rb +0 -4
  42. data/tests/spec_component_test.rb +0 -4
  43. metadata +19 -49
  44. data/docs/Flex_Array_UG.odt +0 -0
  45. data/docs/Flex_Array_UG_Version_0_3_0.pdf +0 -0
  46. data/flex_array.reek +0 -109
  47. data/readme.txt +0 -2
  48. data/sire.rb +0 -82
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: cb0e2598e518e574d21b0a5e5de9dea1189f735b
4
- data.tar.gz: e606ee6ff4d0534806f2e3cc7fe2c856165ced56
2
+ SHA256:
3
+ metadata.gz: 2a0c986a8a3bc388dfa3d0d96afaff0dbcaf55a1749100e73276d3dffc19b370
4
+ data.tar.gz: a9adeb41ec4608673a3753e29815eaadaeb4997f01a254746f3fadfd53ebc375
5
5
  SHA512:
6
- metadata.gz: 1681e59f906deebb217eadd4e71b3c1c5f07654e60a3a015a5a15e294b4e048b1e54df2ab2d3c9206604151c2d01991499e8837ed38b3b7db82ffbea37754129
7
- data.tar.gz: dc833e48d0c0695d3c94135491bc99f0fbe7d5ce9c35767472b2249262f52b993e25cfcd35ea3b64a2cdd7aa0ae427a0f75d45752b732e708a33b87bda17893d
6
+ metadata.gz: 9d26f1fa463c4218278794227cb9500ec2dee8ad77809ec3bca733093725915ff05e729a9548e5163989d3c62f48e20d91c4ea0f74e74c8adc0c5e5fa5969c87
7
+ data.tar.gz: 8a8e88add9c6278457846e0b0d3a4c0ada5560118f3ae783de3e2416045fbfc9197c56c77d2ece1cab195e154b2bc1df236c53e85fce3ab09101e995f90ceef8
data/.gitignore CHANGED
@@ -2,19 +2,4 @@
2
2
  *.zip
3
3
  *.tmp
4
4
  *.gem
5
- *.rbc
6
- .bundle
7
- .config
8
- .yardoc
9
5
  Gemfile.lock
10
- InstalledFiles
11
- _yardoc
12
- coverage
13
- doc/
14
- lib/bundler/man
15
- pkg
16
- rdoc
17
- spec/reports
18
- test/tmp
19
- test/version_tmp
20
- tmp
data/.reek.yml ADDED
@@ -0,0 +1,17 @@
1
+ ---
2
+
3
+ ### Generic smell configuration
4
+
5
+ detectors:
6
+
7
+ TooManyStatements:
8
+ max_statements: 7
9
+
10
+ InstanceVariableAssumption:
11
+ enabled: false
12
+
13
+ TooManyMethods:
14
+ enabled: false
15
+
16
+ LongParameterList:
17
+ max_params: 3
@@ -0,0 +1,49 @@
1
+ # Contributor Code of Conduct
2
+
3
+ As contributors and maintainers of this project, and in the interest of
4
+ fostering an open and welcoming community, we pledge to respect all people who
5
+ contribute through reporting issues, posting feature requests, updating
6
+ documentation, submitting pull requests or patches, and other activities.
7
+
8
+ We are committed to making participation in this project a harassment-free
9
+ experience for everyone, regardless of level of experience, gender, gender
10
+ identity and expression, sexual orientation, disability, personal appearance,
11
+ body size, race, ethnicity, age, religion, or nationality.
12
+
13
+ Examples of unacceptable behavior by participants include:
14
+
15
+ * The use of sexualized language or imagery
16
+ * Personal attacks
17
+ * Trolling or insulting/derogatory comments
18
+ * Public or private harassment
19
+ * Publishing other's private information, such as physical or electronic
20
+ addresses, without explicit permission
21
+ * Other unethical or unprofessional conduct
22
+
23
+ Project maintainers have the right and responsibility to remove, edit, or
24
+ reject comments, commits, code, wiki edits, issues, and other contributions
25
+ that are not aligned to this Code of Conduct, or to ban temporarily or
26
+ permanently any contributor for other behaviors that they deem inappropriate,
27
+ threatening, offensive, or harmful.
28
+
29
+ By adopting this Code of Conduct, project maintainers commit themselves to
30
+ fairly and consistently applying these principles to every aspect of managing
31
+ this project. Project maintainers who do not follow or enforce the Code of
32
+ Conduct may be permanently removed from the project team.
33
+
34
+ This code of conduct applies both within project spaces and in public spaces
35
+ when an individual is representing the project or its community.
36
+
37
+ Instances of abusive, harassing, or otherwise unacceptable behavior may be
38
+ reported by contacting a project maintainer at peter.c.camilleri@gmail.com. All
39
+ complaints will be reviewed and investigated and will result in a response that
40
+ is deemed necessary and appropriate to the circumstances. Maintainers are
41
+ obligated to maintain confidentiality with regard to the reporter of an
42
+ incident.
43
+
44
+ This Code of Conduct is adapted from the [Contributor Covenant][homepage],
45
+ version 1.3.0, available at
46
+ [http://contributor-covenant.org/version/1/3/0/][version]
47
+
48
+ [homepage]: http://contributor-covenant.org
49
+ [version]: http://contributor-covenant.org/version/1/3/0/
data/README.md ADDED
@@ -0,0 +1,67 @@
1
+ # The flex array gem.
2
+
3
+ This project contains the Ruby FlexArray gem. A gem used to facilitate the
4
+ creation and processing of multi-dimensional arrays in a flexible manner.
5
+
6
+ ## Installation
7
+
8
+ Add this line to your application's Gemfile:
9
+
10
+ ```ruby
11
+ gem 'flex_array'
12
+ ```
13
+
14
+ And then execute:
15
+
16
+ $ bundle
17
+
18
+ Or install it yourself as:
19
+
20
+ $ gem install flex_array
21
+
22
+ The flex_array gem itself is found at: ( https://rubygems.org/gems/flex_array )
23
+
24
+ ## Usage
25
+
26
+ Using flex_array in an application can be as simple as:
27
+ ```ruby
28
+ require 'flex_array'
29
+
30
+ arr1 = FlexArray.new([10,10]) # 10 by 10 of nil
31
+ arr2 = FlexArray.new([10,10], 0) # 10 by 10 of zero
32
+ arr2 = FlexArray.new([1..12,1..12]) {|i| i[0]*i[1]} # Times table.
33
+
34
+ arr2[4..5,4..5] = 42 #Set the middle of the array.
35
+
36
+ ```
37
+
38
+ A lot more information on the operation of this gem may be found in the docs
39
+ folder in the Flex_Array_UG, available in both open office (.odt) and portable
40
+ document (.pdf) formats.
41
+
42
+ ## Contributing
43
+
44
+ #### Plan A
45
+
46
+ 1. Fork it ( https://github.com/PeterCamilleri/flex_array/fork )
47
+ 2. Switch to the development branch ('git branch development')
48
+ 3. Create your feature branch ('git checkout -b my-new-feature')
49
+ 4. Commit your changes ('git commit -am "Add some feature"')
50
+ 5. Push to the branch ('git push origin my-new-feature')
51
+ 6. Create new Pull Request
52
+
53
+ #### Plan B
54
+
55
+ Go to the GitHub repository and raise an issue calling attention to some
56
+ aspect that could use some TLC or a suggestion or an idea.
57
+
58
+ ## License
59
+
60
+ The gem is available as open source under the terms of the
61
+ [MIT License](./LICENSE.txt).
62
+
63
+ ## Code of Conduct
64
+
65
+ Everyone interacting in the fully_freeze project’s codebases, issue trackers,
66
+ chat rooms and mailing lists is expected to follow the
67
+ [code of conduct](./CODE_OF_CONDUCT.md).
@@ -0,0 +1,243 @@
1
+ #Benchmark studies of flex array.
2
+
3
+ require 'benchmark'
4
+ require_relative '../lib/flex_array'
5
+
6
+ puts "Ruby version = #{RUBY_VERSION}"
7
+ puts "FlexArray version = #{FlexArray::VERSION}"
8
+ puts
9
+
10
+ enable_creating_tests = true
11
+ enable_accessing_tests = true
12
+
13
+ ct = 1000
14
+
15
+ sz = 10000
16
+ s2d = [100, 100]
17
+ s3d = [10, 10, 100]
18
+ s4d = [10, 10, 10, 10]
19
+ s5d = [5, 5, 4, 10, 10]
20
+
21
+ c1s = [1..9998]
22
+ c2s = [1..98, 1..98]
23
+ c3s = [1..8, 1..8, 1..98]
24
+ c4s = [1..8, 1..8, 1..8, 1..8]
25
+ c5s = [1..3, 1..3, 1..2, 1..8, 1..8]
26
+
27
+
28
+ cyc_ct = ct*sz
29
+
30
+
31
+ puts "Creating arrays:"
32
+ puts "=============================================================================="
33
+
34
+ if enable_creating_tests
35
+
36
+ Benchmark.bmbm do |x|
37
+
38
+ x.report("Array obj:") {
39
+ ct.times { Array.new(sz, "cat") }
40
+ }
41
+
42
+ x.report("Flex 1d obj:") {
43
+ ct.times { FlexArray.new(sz, "cat") }
44
+ }
45
+
46
+ x.report("Flex 2d obj:") {
47
+ ct.times { FlexArray.new(s2d, "cat") }
48
+ }
49
+
50
+ x.report("Flex 3d obj:") {
51
+ ct.times { FlexArray.new(s3d, "cat") }
52
+ }
53
+
54
+ x.report("Flex 4d obj:") {
55
+ ct.times { FlexArray.new(s4d, "cat") }
56
+ }
57
+
58
+ x.report("Flex 5d obj:") {
59
+ ct.times { FlexArray.new(s5d, "cat") }
60
+ }
61
+
62
+
63
+ x.report("Array blk:") {
64
+ ct.times { Array.new(sz) {"cat"} }
65
+ }
66
+
67
+ x.report("Flex 1d blk:") {
68
+ ct.times { FlexArray.new(sz) {"cat"} }
69
+ }
70
+
71
+ x.report("Flex 2d blk:") {
72
+ ct.times { FlexArray.new(s2d) {"cat"} }
73
+ }
74
+
75
+ x.report("Flex 3d blk:") {
76
+ ct.times { FlexArray.new(s3d) {"cat"} }
77
+ }
78
+
79
+ x.report("Flex 4d blk:") {
80
+ ct.times { FlexArray.new(s4d) {"cat"} }
81
+ }
82
+
83
+ x.report("Flex 5d blk:") {
84
+ ct.times { FlexArray.new(s5d) {"cat"} }
85
+ }
86
+
87
+
88
+ src = Array.new(sz, "cat")
89
+
90
+ x.report("Flex 1d from:") {
91
+ ct.times { FlexArray.new_from(sz, src) }
92
+ }
93
+
94
+ x.report("Flex 2d from:") {
95
+ ct.times { FlexArray.new_from(s2d, src) }
96
+ }
97
+
98
+ x.report("Flex 3d from:") {
99
+ ct.times { FlexArray.new_from(s3d, src) }
100
+ }
101
+
102
+ x.report("Flex 4d from:") {
103
+ ct.times { FlexArray.new_from(s4d, src) }
104
+ }
105
+
106
+ x.report("Flex 5d from:") {
107
+ ct.times { FlexArray.new_from(s5d, src) }
108
+ }
109
+ end
110
+
111
+ else
112
+ puts "Test disabled."
113
+ end
114
+
115
+ puts
116
+
117
+ puts "Accessing arrays:"
118
+ puts "=============================================================================="
119
+
120
+ if enable_accessing_tests
121
+ array = Array.new(sz, 1.0)
122
+ fa_1d = FlexArray.new(sz, 1.0)
123
+ fa_2d = FlexArray.new(s2d, 1.0)
124
+ fa_3d = FlexArray.new(s3d, 1.0)
125
+ fa_4d = FlexArray.new(s4d, 1.0)
126
+ fa_5d = FlexArray.new(s5d, 1.0)
127
+
128
+ temp = 0.0
129
+
130
+ Benchmark.bmbm do |x|
131
+
132
+ x.report("Array each:") {
133
+ ct.times { array.each { |item| temp += item } }
134
+ }
135
+
136
+ x.report("Flex 1d each:") {
137
+ ct.times { fa_1d.each { |item| temp += item } }
138
+ }
139
+
140
+ x.report("Flex 2d each:") {
141
+ ct.times { fa_2d.each { |item| temp += item } }
142
+ }
143
+
144
+ x.report("Flex 3d each:") {
145
+ ct.times { fa_3d.each { |item| temp += item } }
146
+ }
147
+
148
+ x.report("Flex 4d each:") {
149
+ ct.times { fa_4d.each { |item| temp += item } }
150
+ }
151
+
152
+ x.report("Flex 5d each:") {
153
+ ct.times { fa_5d.each { |item| temp += item } }
154
+ }
155
+
156
+
157
+ x.report("Array cycle:") {
158
+ cyc = array.cycle
159
+ cyc_ct.times { temp += cyc.next }
160
+ }
161
+
162
+ x.report("Flex 1d cycle:") {
163
+ cyc = fa_1d.cycle
164
+ cyc_ct.times { temp += cyc.next }
165
+ }
166
+
167
+ x.report("Flex 2d cycle:") {
168
+ cyc = fa_2d.cycle
169
+ cyc_ct.times { temp += cyc.next }
170
+ }
171
+
172
+ x.report("Flex 3d cycle:") {
173
+ cyc = fa_3d.cycle
174
+ cyc_ct.times { temp += cyc.next }
175
+ }
176
+
177
+ x.report("Flex 4d cycle:") {
178
+ cyc = fa_4d.cycle
179
+ cyc_ct.times { temp += cyc.next }
180
+ }
181
+
182
+ x.report("Flex 5d cycle:") {
183
+ cyc = fa_5d.cycle
184
+ cyc_ct.times { temp += cyc.next }
185
+ }
186
+
187
+
188
+ x.report("Flex 1d cysel:") {
189
+ cyc = fa_1d.select_cycle(c1s)
190
+ cyc_ct.times { temp += cyc.next }
191
+ }
192
+
193
+ x.report("Flex 2d cysel:") {
194
+ cyc = fa_2d.select_cycle(c2s)
195
+ cyc_ct.times { temp += cyc.next }
196
+ }
197
+
198
+ x.report("Flex 3d cysel:") {
199
+ cyc = fa_3d.select_cycle(c3s)
200
+ cyc_ct.times { temp += cyc.next }
201
+ }
202
+
203
+ x.report("Flex 4d cysel:") {
204
+ cyc = fa_4d.select_cycle(c4s)
205
+ cyc_ct.times { temp += cyc.next }
206
+ }
207
+
208
+ x.report("Flex 5d cysel:") {
209
+ cyc = fa_5d.select_cycle(c5s)
210
+ cyc_ct.times { temp += cyc.next }
211
+ }
212
+
213
+
214
+ x.report("Array []=:") {
215
+ ct.times { sz.times { |index| array[index] = 2.0 } }
216
+ }
217
+
218
+ x.report("Flex 1d []=:") {
219
+ ct.times { fa_1d[:all] = 2.0 }
220
+ }
221
+
222
+ x.report("Flex 2d []=:") {
223
+ ct.times { fa_2d[:all] = 2.0 }
224
+ }
225
+
226
+ x.report("Flex 3d []=:") {
227
+ ct.times { fa_3d[:all] = 2.0 }
228
+ }
229
+
230
+ x.report("Flex 4d []=:") {
231
+ ct.times { fa_4d[:all] = 2.0 }
232
+ }
233
+
234
+ x.report("Flex 5d []=:") {
235
+ ct.times { fa_5d[:all] = 2.0 }
236
+ }
237
+
238
+ end
239
+ else
240
+ puts "Test disabled."
241
+ end
242
+
243
+ puts
data/bench/results.txt ADDED
@@ -0,0 +1,97 @@
1
+ Ruby version = 2.3.3
2
+ FlexArray version = 0.3.5
3
+
4
+ Creating arrays:
5
+ ==============================================================================
6
+ Rehearsal -------------------------------------------------
7
+ Array obj: 0.031000 0.000000 0.031000 ( 0.029280)
8
+ Flex 1d obj: 0.032000 0.000000 0.032000 ( 0.034108)
9
+ Flex 2d obj: 0.031000 0.016000 0.047000 ( 0.042788)
10
+ Flex 3d obj: 0.031000 0.000000 0.031000 ( 0.028039)
11
+ Flex 4d obj: 0.031000 0.000000 0.031000 ( 0.029970)
12
+ Flex 5d obj: 0.016000 0.000000 0.016000 ( 0.031100)
13
+ Array blk: 1.185000 0.016000 1.201000 ( 1.249085)
14
+ Flex 1d blk: 6.334000 0.000000 6.334000 ( 6.320979)
15
+ Flex 2d blk: 6.599000 0.000000 6.599000 ( 6.629046)
16
+ Flex 3d blk: 6.801000 0.000000 6.801000 ( 6.820932)
17
+ Flex 4d blk: 8.190000 0.000000 8.190000 ( 8.182340)
18
+ Flex 5d blk: 8.269000 0.000000 8.269000 ( 8.293787)
19
+ Flex 1d from: 9.750000 0.015000 9.765000 ( 9.760498)
20
+ Flex 2d from: 9.999000 0.047000 10.046000 ( 10.037197)
21
+ Flex 3d from: 10.031000 0.047000 10.078000 ( 10.102979)
22
+ Flex 4d from: 11.607000 0.015000 11.622000 ( 11.644530)
23
+ Flex 5d from: 11.590000 0.032000 11.622000 ( 11.630430)
24
+ --------------------------------------- total: 90.715000sec
25
+
26
+ user system total real
27
+ Array obj: 0.031000 0.000000 0.031000 ( 0.028856)
28
+ Flex 1d obj: 0.047000 0.000000 0.047000 ( 0.041917)
29
+ Flex 2d obj: 0.031000 0.000000 0.031000 ( 0.035824)
30
+ Flex 3d obj: 0.016000 0.015000 0.031000 ( 0.033661)
31
+ Flex 4d obj: 0.047000 0.000000 0.047000 ( 0.040366)
32
+ Flex 5d obj: 0.031000 0.000000 0.031000 ( 0.038743)
33
+ Array blk: 1.232000 0.000000 1.232000 ( 1.242158)
34
+ Flex 1d blk: 6.381000 0.000000 6.381000 ( 6.378779)
35
+ Flex 2d blk: 6.194000 0.031000 6.225000 ( 6.481757)
36
+ Flex 3d blk: 6.630000 0.000000 6.630000 ( 6.680507)
37
+ Flex 4d blk: 8.112000 0.000000 8.112000 ( 8.115420)
38
+ Flex 5d blk: 8.237000 0.000000 8.237000 ( 8.228091)
39
+ Flex 1d from: 9.657000 0.016000 9.673000 ( 9.716532)
40
+ Flex 2d from: 9.937000 0.000000 9.937000 ( 9.999748)
41
+ Flex 3d from: 10.109000 0.015000 10.124000 ( 10.136534)
42
+ Flex 4d from: 11.809000 0.016000 11.825000 ( 11.878319)
43
+ Flex 5d from: 11.685000 0.047000 11.732000 ( 11.723940)
44
+
45
+ Accessing arrays:
46
+ ==============================================================================
47
+ Rehearsal --------------------------------------------------
48
+ Array each: 1.045000 0.000000 1.045000 ( 1.049537)
49
+ Flex 1d each: 1.076000 0.000000 1.076000 ( 1.075475)
50
+ Flex 2d each: 1.092000 0.000000 1.092000 ( 1.086814)
51
+ Flex 3d each: 1.092000 0.000000 1.092000 ( 1.096500)
52
+ Flex 4d each: 1.077000 0.000000 1.077000 ( 1.081033)
53
+ Flex 5d each: 1.092000 0.000000 1.092000 ( 1.084849)
54
+ Array cycle: 4.337000 0.000000 4.337000 ( 4.344979)
55
+ Flex 1d cycle: 4.383000 0.000000 4.383000 ( 4.375415)
56
+ Flex 2d cycle: 4.353000 0.000000 4.353000 ( 4.351397)
57
+ Flex 3d cycle: 4.305000 0.000000 4.305000 ( 4.297517)
58
+ Flex 4d cycle: 4.321000 0.000000 4.321000 ( 4.337608)
59
+ Flex 5d cycle: 4.400000 0.000000 4.400000 ( 4.412436)
60
+ Flex 1d cysel: 10.265000 0.000000 10.265000 ( 10.272564)
61
+ Flex 2d cysel: 10.342000 0.031000 10.373000 ( 10.403735)
62
+ Flex 3d cysel: 10.359000 0.062000 10.421000 ( 10.445309)
63
+ Flex 4d cysel: 11.482000 0.016000 11.498000 ( 11.535809)
64
+ Flex 5d cysel: 12.230000 0.140000 12.370000 ( 12.388114)
65
+ Array []=: 0.983000 0.000000 0.983000 ( 0.974042)
66
+ Flex 1d []=: 8.486000 0.000000 8.486000 ( 8.487866)
67
+ Flex 2d []=: 8.705000 0.047000 8.752000 ( 8.779844)
68
+ Flex 3d []=: 8.923000 0.031000 8.954000 ( 8.971719)
69
+ Flex 4d []=: 10.281000 0.047000 10.328000 ( 10.338109)
70
+ Flex 5d []=: 10.296000 0.016000 10.312000 ( 10.406798)
71
+ --------------------------------------- total: 135.315000sec
72
+
73
+ user system total real
74
+ Array each: 1.030000 0.000000 1.030000 ( 1.037024)
75
+ Flex 1d each: 1.076000 0.000000 1.076000 ( 1.068122)
76
+ Flex 2d each: 1.061000 0.000000 1.061000 ( 1.068019)
77
+ Flex 3d each: 1.092000 0.000000 1.092000 ( 1.073313)
78
+ Flex 4d each: 1.076000 0.000000 1.076000 ( 1.078664)
79
+ Flex 5d each: 1.077000 0.000000 1.077000 ( 1.073763)
80
+ Array cycle: 4.336000 0.000000 4.336000 ( 4.343807)
81
+ Flex 1d cycle: 4.275000 0.000000 4.275000 ( 4.289805)
82
+ Flex 2d cycle: 4.227000 0.000000 4.227000 ( 4.248021)
83
+ Flex 3d cycle: 4.197000 0.000000 4.197000 ( 4.219823)
84
+ Flex 4d cycle: 4.228000 0.000000 4.228000 ( 4.256224)
85
+ Flex 5d cycle: 4.196000 0.015000 4.211000 ( 4.273239)
86
+ Flex 1d cysel: 9.890000 0.016000 9.906000 ( 9.940829)
87
+ Flex 2d cysel: 10.094000 0.015000 10.109000 ( 10.105926)
88
+ Flex 3d cysel: 10.202000 0.063000 10.265000 ( 10.352745)
89
+ Flex 4d cysel: 11.404000 0.062000 11.466000 ( 11.462466)
90
+ Flex 5d cysel: 11.653000 0.141000 11.794000 ( 11.784468)
91
+ Array []=: 0.967000 0.000000 0.967000 ( 0.963400)
92
+ Flex 1d []=: 8.471000 0.031000 8.502000 ( 8.527261)
93
+ Flex 2d []=: 8.752000 0.000000 8.752000 ( 8.757735)
94
+ Flex 3d []=: 8.892000 0.015000 8.907000 ( 9.115369)
95
+ Flex 4d []=: 10.234000 0.016000 10.250000 ( 10.635380)
96
+ Flex 5d []=: 10.374000 0.062000 10.436000 ( 15.463252)
97
+