redshift 1.3.21 → 1.3.22
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/RELEASE-NOTES +14 -0
- data/bench/algebraic.rb +61 -0
- data/bench/bench +3 -0
- data/bench/connect.rb +75 -0
- data/bench/linked-flows.rb +71 -0
- data/examples/step-discrete-hook.rb +201 -0
- data/lib/redshift/component.rb +4 -1
- data/lib/redshift/meta.rb +2 -0
- data/lib/redshift/mixins/zeno-debugger.rb +1 -1
- data/lib/redshift/redshift.rb +48 -11
- data/lib/redshift/syntax.rb +9 -1
- data/lib/redshift/target/c/component-gen.rb +185 -91
- data/lib/redshift/target/c/flow-gen.rb +11 -9
- data/lib/redshift/target/c/flow/algebraic.rb +32 -37
- data/lib/redshift/target/c/flow/delay.rb +34 -32
- data/lib/redshift/target/c/flow/derivative.rb +30 -33
- data/lib/redshift/target/c/flow/euler.rb +24 -22
- data/lib/redshift/target/c/flow/expr.rb +40 -43
- data/lib/redshift/target/c/flow/rk4.rb +28 -32
- data/lib/redshift/target/c/library.rb +2 -8
- data/lib/redshift/target/c/world-gen.rb +31 -35
- data/lib/redshift/world.rb +6 -0
- metadata +12 -14
- data/.bnsignore +0 -27
- data/bench/after-flow-cache +0 -66
- data/bench/before-flow-cache +0 -66
data/lib/redshift/world.rb
CHANGED
@@ -79,6 +79,8 @@ class World
|
|
79
79
|
:zeno_limit => 100,
|
80
80
|
:clock_start => 0.0,
|
81
81
|
:clock_finish => Infinity,
|
82
|
+
:input_depth_limit => 100,
|
83
|
+
:alg_depth_limit => 100
|
82
84
|
}
|
83
85
|
end
|
84
86
|
|
@@ -109,6 +111,10 @@ class World
|
|
109
111
|
self.zeno_limit = options[:zeno_limit]
|
110
112
|
self.clock_start = options[:clock_start]
|
111
113
|
self.clock_finish = options[:clock_finish]
|
114
|
+
self.input_depth_limit =
|
115
|
+
options[:input_depth_limit]
|
116
|
+
self.alg_depth_limit =
|
117
|
+
options[:alg_depth_limit]
|
112
118
|
|
113
119
|
self.step_count = 0
|
114
120
|
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: redshift
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 55
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
7
|
- 1
|
8
8
|
- 3
|
9
|
-
-
|
10
|
-
version: 1.3.
|
9
|
+
- 22
|
10
|
+
version: 1.3.22
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Joel VanderWerf
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2010-
|
18
|
+
date: 2010-08-11 00:00:00 -07:00
|
19
19
|
default_executable:
|
20
20
|
dependencies:
|
21
21
|
- !ruby/object:Gem::Dependency
|
@@ -26,12 +26,10 @@ dependencies:
|
|
26
26
|
requirements:
|
27
27
|
- - ">="
|
28
28
|
- !ruby/object:Gem::Version
|
29
|
-
hash:
|
29
|
+
hash: 3
|
30
30
|
segments:
|
31
31
|
- 0
|
32
|
-
|
33
|
-
- 5
|
34
|
-
version: 0.16.5
|
32
|
+
version: "0"
|
35
33
|
type: :runtime
|
36
34
|
version_requirements: *id001
|
37
35
|
- !ruby/object:Gem::Dependency
|
@@ -42,11 +40,10 @@ dependencies:
|
|
42
40
|
requirements:
|
43
41
|
- - ">="
|
44
42
|
- !ruby/object:Gem::Version
|
45
|
-
hash:
|
43
|
+
hash: 3
|
46
44
|
segments:
|
47
45
|
- 0
|
48
|
-
|
49
|
-
version: "0.63"
|
46
|
+
version: "0"
|
50
47
|
type: :runtime
|
51
48
|
version_requirements: *id002
|
52
49
|
- !ruby/object:Gem::Dependency
|
@@ -78,16 +75,15 @@ extra_rdoc_files:
|
|
78
75
|
- README
|
79
76
|
- RELEASE-NOTES
|
80
77
|
files:
|
81
|
-
- .bnsignore
|
82
78
|
- .gitignore
|
83
79
|
- README
|
84
80
|
- RELEASE-NOTES
|
85
81
|
- TODO
|
86
|
-
- bench/after-flow-cache
|
87
82
|
- bench/alg-state.rb
|
88
|
-
- bench/
|
83
|
+
- bench/algebraic.rb
|
89
84
|
- bench/bench
|
90
85
|
- bench/bench.rb
|
86
|
+
- bench/connect.rb
|
91
87
|
- bench/continuous.rb
|
92
88
|
- bench/diff-bench
|
93
89
|
- bench/discrete.rb
|
@@ -95,6 +91,7 @@ files:
|
|
95
91
|
- bench/formula.rb
|
96
92
|
- bench/half-strict.rb
|
97
93
|
- bench/inertness.rb
|
94
|
+
- bench/linked-flows.rb
|
98
95
|
- bench/queues.rb
|
99
96
|
- bench/run
|
100
97
|
- bench/simple.rb
|
@@ -133,6 +130,7 @@ files:
|
|
133
130
|
- examples/simulink/README
|
134
131
|
- examples/simulink/delay.mdl
|
135
132
|
- examples/simulink/derivative.mdl
|
133
|
+
- examples/step-discrete-hook.rb
|
136
134
|
- examples/step-discrete-profiler.rb
|
137
135
|
- examples/subsystem.rb
|
138
136
|
- examples/sync-deadlock.rb
|
data/.bnsignore
DELETED
@@ -1,27 +0,0 @@
|
|
1
|
-
# The list of files that should be ignored by Mr Bones.
|
2
|
-
# Lines that start with '#' are comments.
|
3
|
-
#
|
4
|
-
# A .gitignore file can be used instead by setting it as the ignore
|
5
|
-
# file in your Rakefile:
|
6
|
-
#
|
7
|
-
# PROJ.ignore_file = '.gitignore'
|
8
|
-
#
|
9
|
-
# For a project with a C extension, the following would be a good set of
|
10
|
-
# exclude patterns (uncomment them if you want to use them):
|
11
|
-
# *.[oa]
|
12
|
-
# *~
|
13
|
-
announcement.txt
|
14
|
-
coverage
|
15
|
-
doc
|
16
|
-
pkg
|
17
|
-
*.bck
|
18
|
-
*.so
|
19
|
-
*.o
|
20
|
-
ext/*/*/Makefile
|
21
|
-
ext/*/*/*/Makefile
|
22
|
-
misc
|
23
|
-
junk
|
24
|
-
tmp
|
25
|
-
*/tmp
|
26
|
-
*/*/tmp
|
27
|
-
*/junk
|
data/bench/after-flow-cache
DELETED
@@ -1,66 +0,0 @@
|
|
1
|
-
alg-state:
|
2
|
-
- 0 comps X 1000 steps X 0 non-alg: 0.00
|
3
|
-
- 10 comps X 1000 steps X 0 non-alg: 0.00
|
4
|
-
- 100 comps X 1000 steps X 0 non-alg: 0.01
|
5
|
-
- 1000 comps X 1000 steps X 0 non-alg: 0.07
|
6
|
-
- 10000 comps X 1000 steps X 0 non-alg: 3.46
|
7
|
-
continuous:
|
8
|
-
- 1 comps X 1000000 steps: 2.53
|
9
|
-
- 10 comps X 100000 steps: 0.46
|
10
|
-
- 100 comps X 10000 steps: 0.32
|
11
|
-
- 1000 comps X 1000 steps: 0.32
|
12
|
-
- 10000 comps X 100 steps: 1.03
|
13
|
-
- 100000 comps X 10 steps: 1.30
|
14
|
-
discrete:
|
15
|
-
- 1 comps X 1000000 steps X 0 watchers: 3.01
|
16
|
-
- 10 comps X 100000 steps X 0 watchers: 0.48
|
17
|
-
- 100 comps X 10000 steps X 0 watchers: 0.18
|
18
|
-
- 1000 comps X 1000 steps X 0 watchers: 0.20
|
19
|
-
- 10000 comps X 100 steps X 0 watchers: 0.49
|
20
|
-
- 100000 comps X 10 steps X 0 watchers: 0.64
|
21
|
-
- 1 comps X 1000000 steps X 1 watchers: 3.91
|
22
|
-
- 10 comps X 100000 steps X 1 watchers: 0.73
|
23
|
-
- 100 comps X 10000 steps X 1 watchers: 0.49
|
24
|
-
- 1000 comps X 1000 steps X 1 watchers: 0.60
|
25
|
-
- 10000 comps X 100 steps X 1 watchers: 2.08
|
26
|
-
- 100000 comps X 10 steps X 1 watchers: 2.65
|
27
|
-
- 1 comps X 200000 steps X 5 watchers: 0.85
|
28
|
-
- 10 comps X 20000 steps X 5 watchers: 0.41
|
29
|
-
- 100 comps X 2000 steps X 5 watchers: 0.49
|
30
|
-
- 1000 comps X 200 steps X 5 watchers: 0.90
|
31
|
-
- 10000 comps X 20 steps X 5 watchers: 1.94
|
32
|
-
- 100000 comps X 2 steps X 5 watchers: 3.45
|
33
|
-
euler:
|
34
|
-
- 1 comps X 1000000 steps: 2.28
|
35
|
-
- 10 comps X 100000 steps: 0.34
|
36
|
-
- 100 comps X 10000 steps: 0.21
|
37
|
-
- 1000 comps X 1000 steps: 0.24
|
38
|
-
- 10000 comps X 100 steps: 0.86
|
39
|
-
- 100000 comps X 10 steps: 1.07
|
40
|
-
formula:
|
41
|
-
- 1 comps X 100000 steps: 0.35
|
42
|
-
- 10 comps X 10000 steps: 0.13
|
43
|
-
- 100 comps X 1000 steps: 0.12
|
44
|
-
- 1000 comps X 100 steps: 0.12
|
45
|
-
- 10000 comps X 10 steps: 0.19
|
46
|
-
half-strict:
|
47
|
-
- 10 comps X 100000 steps: 3.90
|
48
|
-
- 100 comps X 10000 steps: 1.26
|
49
|
-
- 1000 comps X 1000 steps: 1.03
|
50
|
-
- 10000 comps X 100 steps: 1.71
|
51
|
-
- 100000 comps X 10 steps: 3.02
|
52
|
-
inertness:
|
53
|
-
- 0 comps X 10000 steps X 0 non-inert: 0.02
|
54
|
-
- 1000 comps X 10000 steps X 0 non-inert: 0.38
|
55
|
-
- 0 comps X 10000 steps X 1 non-inert: 0.16
|
56
|
-
- 1000 comps X 10000 steps X 1 non-inert: 0.56
|
57
|
-
queues:
|
58
|
-
- 1 senders X 100000 steps X 1 receivers: 0.26
|
59
|
-
- 10 senders X 10000 steps X 1 receivers: 0.05
|
60
|
-
- 100 senders X 1000 steps X 1 receivers: 0.04
|
61
|
-
- 1 senders X 10000 steps X 10 receivers: 0.05
|
62
|
-
- 10 senders X 1000 steps X 10 receivers: 0.00
|
63
|
-
- 100 senders X 100 steps X 10 receivers: 0.01
|
64
|
-
- 1 senders X 1000 steps X 100 receivers: 0.02
|
65
|
-
- 10 senders X 100 steps X 100 receivers: 0.02
|
66
|
-
- 100 senders X 10 steps X 100 receivers: 0.02
|
data/bench/before-flow-cache
DELETED
@@ -1,66 +0,0 @@
|
|
1
|
-
alg-state:
|
2
|
-
- 0 comps X 1000 steps X 0 non-alg: 0.00
|
3
|
-
- 10 comps X 1000 steps X 0 non-alg: 0.01
|
4
|
-
- 100 comps X 1000 steps X 0 non-alg: 0.01
|
5
|
-
- 1000 comps X 1000 steps X 0 non-alg: 0.08
|
6
|
-
- 10000 comps X 1000 steps X 0 non-alg: 3.59
|
7
|
-
continuous:
|
8
|
-
- 1 comps X 1000000 steps: 2.56
|
9
|
-
- 10 comps X 100000 steps: 0.47
|
10
|
-
- 100 comps X 10000 steps: 0.30
|
11
|
-
- 1000 comps X 1000 steps: 0.32
|
12
|
-
- 10000 comps X 100 steps: 1.01
|
13
|
-
- 100000 comps X 10 steps: 1.30
|
14
|
-
discrete:
|
15
|
-
- 1 comps X 1000000 steps X 0 watchers: 2.90
|
16
|
-
- 10 comps X 100000 steps X 0 watchers: 0.49
|
17
|
-
- 100 comps X 10000 steps X 0 watchers: 0.18
|
18
|
-
- 1000 comps X 1000 steps X 0 watchers: 0.21
|
19
|
-
- 10000 comps X 100 steps X 0 watchers: 0.49
|
20
|
-
- 100000 comps X 10 steps X 0 watchers: 0.66
|
21
|
-
- 1 comps X 1000000 steps X 1 watchers: 3.78
|
22
|
-
- 10 comps X 100000 steps X 1 watchers: 0.72
|
23
|
-
- 100 comps X 10000 steps X 1 watchers: 0.51
|
24
|
-
- 1000 comps X 1000 steps X 1 watchers: 0.59
|
25
|
-
- 10000 comps X 100 steps X 1 watchers: 2.10
|
26
|
-
- 100000 comps X 10 steps X 1 watchers: 2.67
|
27
|
-
- 1 comps X 200000 steps X 5 watchers: 0.85
|
28
|
-
- 10 comps X 20000 steps X 5 watchers: 0.42
|
29
|
-
- 100 comps X 2000 steps X 5 watchers: 0.60
|
30
|
-
- 1000 comps X 200 steps X 5 watchers: 0.88
|
31
|
-
- 10000 comps X 20 steps X 5 watchers: 1.94
|
32
|
-
- 100000 comps X 2 steps X 5 watchers: 3.43
|
33
|
-
euler:
|
34
|
-
- 1 comps X 1000000 steps: 2.29
|
35
|
-
- 10 comps X 100000 steps: 0.35
|
36
|
-
- 100 comps X 10000 steps: 0.22
|
37
|
-
- 1000 comps X 1000 steps: 0.24
|
38
|
-
- 10000 comps X 100 steps: 0.85
|
39
|
-
- 100000 comps X 10 steps: 1.08
|
40
|
-
formula:
|
41
|
-
- 1 comps X 100000 steps: 0.34
|
42
|
-
- 10 comps X 10000 steps: 0.13
|
43
|
-
- 100 comps X 1000 steps: 0.12
|
44
|
-
- 1000 comps X 100 steps: 0.12
|
45
|
-
- 10000 comps X 10 steps: 0.19
|
46
|
-
half-strict:
|
47
|
-
- 10 comps X 100000 steps: 4.07
|
48
|
-
- 100 comps X 10000 steps: 1.30
|
49
|
-
- 1000 comps X 1000 steps: 1.04
|
50
|
-
- 10000 comps X 100 steps: 1.74
|
51
|
-
- 100000 comps X 10 steps: 3.00
|
52
|
-
inertness:
|
53
|
-
- 0 comps X 10000 steps X 0 non-inert: 0.02
|
54
|
-
- 1000 comps X 10000 steps X 0 non-inert: 0.38
|
55
|
-
- 0 comps X 10000 steps X 1 non-inert: 0.14
|
56
|
-
- 1000 comps X 10000 steps X 1 non-inert: 0.54
|
57
|
-
queues:
|
58
|
-
- 1 senders X 100000 steps X 1 receivers: 0.28
|
59
|
-
- 10 senders X 10000 steps X 1 receivers: 0.05
|
60
|
-
- 100 senders X 1000 steps X 1 receivers: 0.03
|
61
|
-
- 1 senders X 10000 steps X 10 receivers: 0.06
|
62
|
-
- 10 senders X 1000 steps X 10 receivers: 0.02
|
63
|
-
- 100 senders X 100 steps X 10 receivers: 0.03
|
64
|
-
- 1 senders X 1000 steps X 100 receivers: 0.01
|
65
|
-
- 10 senders X 100 steps X 100 receivers: 0.02
|
66
|
-
- 100 senders X 10 steps X 100 receivers: 0.04
|