ruby-gr 0.0.20 → 0.0.25

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/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
- ```