redshift 1.3.21 → 1.3.22
Sign up to get free protection for your applications and to get access to all the features.
- 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
|