ruby-gr 0.0.20 → 0.0.25

Sign up to get free protection for your applications and to get access to all the features.
data/lib/grm/ffi.rb CHANGED
@@ -15,21 +15,21 @@ module GRM
15
15
  raise LoadError, 'Could not find GR Framework'
16
16
  end
17
17
 
18
- extend GRCommons::Extern
18
+ extend GRCommons::TryExtern
19
19
 
20
20
  # Currently, the declarations of GRM functions are distributed in several
21
21
  # header files.
22
22
 
23
23
  # https://github.com/sciapp/gr/blob/master/lib/grm/args.h
24
-
25
24
  try_extern 'grm_args_t *grm_args_new(void)'
26
25
  try_extern 'void grm_args_delete(grm_args_t *args)'
27
- # Fiddle does not currently support variable-length arguments in C.
28
26
  try_extern 'int grm_args_push(grm_args_t *args, const char *key, const char *value_format, ...)'
29
27
  try_extern 'int grm_args_push_buf(grm_args_t *args, const char *key, const char *value_format, const void *buffer, int apply_padding)'
30
28
  try_extern 'int grm_args_contains(const grm_args_t *args, const char *keyword)'
31
29
  try_extern 'void grm_args_clear(grm_args_t *args)'
32
30
  try_extern 'void grm_args_remove(grm_args_t *args, const char *key)'
31
+ typealias 'grm_args_ptr_t', 'void*'
32
+ try_extern 'grm_args_ptr_t grm_length(double value, const char *unit)'
33
33
 
34
34
  # https://github.com/sciapp/gr/blob/master/lib/grm/dump.h
35
35
  try_extern 'void grm_dump(const grm_args_t *args, FILE *f)'
@@ -37,27 +37,41 @@ module GRM
37
37
  try_extern 'char *grm_dump_json_str(void)'
38
38
 
39
39
  # https://github.com/sciapp/gr/blob/master/lib/grm/event.h
40
- # grm_event_type_t is an enum.
41
- # In the original fiddley, there is code for an enum.
42
- # But GR's fiddley doesn't have it.
43
- # try_extern 'int grm_register(grm_event_type_t type, grm_event_callback_t callback)'
44
- # try_extern 'int grm_unregister(grm_event_type_t type)'
40
+ typealias 'grm_event_type_t', 'int' # enum
41
+ typealias 'grm_event_callback_t', 'void*'
42
+ try_extern 'int grm_register(grm_event_type_t type, grm_event_callback_t callback)'
43
+ try_extern 'int grm_unregister(grm_event_type_t type)'
45
44
 
46
45
  # https://github.com/sciapp/gr/blob/master/lib/grm/interaction.h
46
+ # FIXME: https://github.com/ruby/fiddle/issues/68
47
+ typealias 'const_int', 'int' # FIXME
47
48
  try_extern 'int grm_input(const grm_args_t *input_args)'
48
- # try_extern 'int grm_get_box(const int x1, const int y1, const int x2, const int y2, const int keep_aspect_ratio, int *x, int *y, int *w, int *h)'
49
- # try_extern 'grm_tooltip_info_t *grm_get_tooltip(const int, const int)'
49
+ try_extern 'int grm_get_box(const_int x1, const_int y1, const_int x2, const_int y2, const_int keep_aspect_ratio, int *x, int *y, int *w, int *h)' # FIXME
50
+ try_extern 'grm_tooltip_info_t *grm_get_tooltip(const_int, const_int)' # FIXME
50
51
 
51
52
  # https://github.com/sciapp/gr/blob/master/lib/grm/net.h
52
- # try_extern 'void *grm_open(int is_receiver, const char *name, unsigned int id,
53
- # const char *(*custom_recv)(const char *, unsigned int),
54
- # int (*custom_send)(const char *, unsigned int, const char *))
53
+ try_extern 'void *grm_open(int is_receiver, const char *name, unsigned int id,
54
+ const char *(*custom_recv)(const char *, unsigned int),
55
+ int (*custom_send)(const char *, unsigned int, const char *))'
55
56
  try_extern 'grm_args_t *grm_recv(const void *p, grm_args_t *args)'
56
- # Fiddle does not currently support variable-length arguments in C.
57
57
  try_extern 'int grm_send(const void *p, const char *data_desc, ...)'
58
58
  try_extern 'int grm_send_buf(const void *p, const char *data_desc, const void *buffer, int apply_padding)'
59
59
  try_extern 'int grm_send_ref(const void *p, const char *key, char format, const void *ref, int len)'
60
60
  try_extern 'int grm_send_args(const void *p, const grm_args_t *args)'
61
61
  try_extern 'void grm_close(const void *p)'
62
+
63
+ # https://github.com/sciapp/gr/blob/master/lib/grm/plot.h
64
+ try_extern 'void grm_finalize(void)'
65
+ try_extern 'int grm_clear(void)'
66
+ try_extern 'unsigned int grm_max_plotid(void)'
67
+ try_extern 'int grm_merge(const grm_args_t *args)'
68
+ try_extern 'int grm_merge_extended(const grm_args_t *args, int hold, const char *identificator)'
69
+ try_extern 'int grm_merge_hold(const grm_args_t *args)'
70
+ try_extern 'int grm_merge_named(const grm_args_t *args, const char *identificator)'
71
+ try_extern 'int grm_plot(const grm_args_t *args)'
72
+ try_extern 'int grm_switch(unsigned int id)'
73
+
74
+ # https://github.com/sciapp/gr/blob/master/lib/grm/util.h
75
+ try_extern 'FILE *grm_get_stdout(void)'
62
76
  end
63
77
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ruby-gr
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.20
4
+ version: 0.0.25
5
5
  platform: ruby
6
6
  authors:
7
7
  - kojix2
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-06-21 00:00:00.000000000 Z
11
+ date: 2021-02-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: histogram
@@ -38,6 +38,20 @@ dependencies:
38
38
  - - ">="
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: pkg-config
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
41
55
  - !ruby/object:Gem::Dependency
42
56
  name: bundler
43
57
  requirement: !ruby/object:Gem::Requirement
@@ -134,18 +148,19 @@ files:
134
148
  - lib/gr/ffi.rb
135
149
  - lib/gr/grbase.rb
136
150
  - lib/gr/plot.rb
137
- - lib/gr/plot.rb.md
138
151
  - lib/gr/version.rb
139
152
  - lib/gr3.rb
140
153
  - lib/gr3/ffi.rb
141
154
  - lib/gr3/gr3base.rb
142
155
  - lib/gr3/version.rb
143
156
  - lib/gr_commons/define_methods.rb
144
- - lib/gr_commons/extern.rb
145
157
  - lib/gr_commons/fiddley.rb
146
158
  - lib/gr_commons/gr_common_utils.rb
147
159
  - lib/gr_commons/gr_commons.rb
160
+ - lib/gr_commons/gr_lib.rb
161
+ - lib/gr_commons/gr_logger.rb
148
162
  - lib/gr_commons/jupyter_support.rb
163
+ - lib/gr_commons/try_extern.rb
149
164
  - lib/gr_commons/version.rb
150
165
  - lib/grm.rb
151
166
  - lib/grm/ffi.rb
@@ -164,14 +179,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
164
179
  requirements:
165
180
  - - ">="
166
181
  - !ruby/object:Gem::Version
167
- version: '2.4'
182
+ version: '2.5'
168
183
  required_rubygems_version: !ruby/object:Gem::Requirement
169
184
  requirements:
170
185
  - - ">="
171
186
  - !ruby/object:Gem::Version
172
187
  version: '0'
173
188
  requirements: []
174
- rubygems_version: 3.1.2
189
+ rubygems_version: 3.2.3
175
190
  signing_key:
176
191
  specification_version: 4
177
192
  summary: GR for Ruby
data/lib/gr/plot.rb.md DELETED
@@ -1,172 +0,0 @@
1
- This is a memo to think about the structure of Plot/Figure.
2
-
3
- ````ruby
4
-
5
- module GR
6
- # object oriented way
7
- class PlotBase
8
- end
9
-
10
- class Line < PlotBase
11
- end
12
-
13
- class << self
14
- def set_viewport; end
15
-
16
- def minmax; end
17
-
18
- def set_window; end
19
-
20
- def draw_axes; end
21
-
22
- def draw_polar_axes; end
23
-
24
- def _inqtext; end
25
-
26
- def _text; end
27
-
28
- def draw_legend; end
29
-
30
- def draw_colorbar; end
31
-
32
- def colormap; end
33
-
34
- def to_rgba; end
35
-
36
- # Ruby is object-oriented language.
37
- # Julia is more functional...
38
- # def create_context
39
- # end
40
- # def restore_context
41
- # end
42
- # def figure
43
- # end
44
-
45
- # def hold
46
- # end
47
- # def usecolorscheme
48
- # end
49
-
50
- # Set current subplot index.
51
- def subplot; end
52
-
53
- # draw_grid
54
-
55
- # xticks
56
- # yticks
57
- # zticks
58
-
59
- # xticklabels
60
- # yticklabels
61
-
62
- def plot_img; end # should be private?
63
-
64
- def plot_iso; end # should be private?
65
-
66
- def plot_polar; end # should be private?
67
-
68
- # send_meta
69
-
70
- def plot_data; end # should be private?
71
-
72
- def plot_args; end # should be private?
73
-
74
- # Draw one or more line plots.
75
- def plot; end
76
-
77
- # def plot_line_over oplot_line ?
78
-
79
- # Draw one or more step or staircase plots.
80
- def step; end
81
-
82
- # Draw one or more scatter plots.
83
- def scatter; end
84
-
85
- # Draw a stem plot.
86
- def stem; end
87
-
88
- # Draw a bar plot.
89
- def barplot; end
90
-
91
- def hist; end # should be private?
92
-
93
- # Draw a histogram.
94
- def histgram; end
95
-
96
- # Draw a polar histogram.
97
- def polarhistogram; end
98
-
99
- # Draw a contour plot.
100
- def contour; end
101
- # GR.contour is already defined in GR::FFI class.
102
-
103
- # Draw a filled contour plot.
104
- def contourf; end
105
- # GR.contourf is already defined in GR::FFI class.
106
-
107
- # Draw a hexagon binning plot.
108
- def hexbin; end
109
- # GR.hexbin is already defined in GR::FFI class.
110
-
111
- # Draw a heatmap.
112
- def heatmap; end
113
-
114
- def polarheatmap; end
115
-
116
- # Draw a three-dimensional wireframe plot.
117
- def wireframe; end
118
-
119
- # Draw a three-dimensional surface plot.
120
- def surface; end
121
-
122
- def volume; end
123
-
124
- # Draw one or more three-dimensional line plots.
125
- def plot3; end
126
-
127
- # Draw one or more three-dimensional scatter plots.
128
- def scatter3; end
129
-
130
- def redraw; end
131
-
132
- def title; end
133
-
134
- def xlabel; end
135
-
136
- def ylabel; end
137
-
138
- def legend; end
139
-
140
- def xlim; end
141
-
142
- def ylim; end
143
-
144
- def savefig; end
145
-
146
- def meshgrid; end # should be private ?
147
-
148
- def peaks; end # should be private ?
149
-
150
- def imshow; end
151
-
152
- # Draw an isosurface.
153
- def isosurface; end
154
-
155
- # Draw one or more polar plots.
156
- def polar; end
157
-
158
- # Draw a triangular surface plot.
159
- def trisurf; end
160
-
161
- # Draw a triangular contour plot.
162
- def tricont; end
163
-
164
- def shade; end
165
-
166
- # def set_panzoom ?
167
-
168
- # mainloop
169
- end
170
- end
171
-
172
- ```