1 /**
2 	port of mathgl library to the D programming language
3 
4 	status - C bindings are done, although functions requiring variadic arguments with no fixed arguments have not been wrapped (dmd complains)
5 	not tested at all beyond the first trivial example (which does compile and run)
6 
7 	to do
8 	 - port tests to D.
9 	 - get these variadic functions working too.
10 	 -  port the C++ wrappers to D
11 */
12 module kaleidic.api.mathgl.lowlevel;
13 import core.stdc.stdint;
14 import core.stdc.config;
15 import core.stdc.stdio;
16 
17 
18 ///
19 alias double mreal;
20 ///
21 alias double mdual;
22 ///
23 alias double ddual;
24 //alias <unimplemented> mdual;
25 //alias <unimplemented> ddual;
26 
27 ///
28 extern __gshared ulong[16] mgl_mask_val;
29 
30 ///
31 enum _Anonymous_0
32 {
33 	mglCartesian = 0,
34 	mglPolar = 1,
35 	mglSpherical = 2,
36 	mglParabolic = 3,
37 	mglParaboloidal = 4,
38 	mglOblate = 5,
39 	mglProlate = 6,
40 	mglElliptic = 7,
41 	mglToroidal = 8,
42 	mglBispherical = 9,
43 	mglBipolar = 10,
44 	mglLogLog = 11,
45 	mglLogX = 12,
46 	mglLogY = 13
47 }
48 
49 ///
50 enum _Anonymous_1
51 {
52 	mglWarnNone = 0,
53 	mglWarnDim = 1,
54 	mglWarnLow = 2,
55 	mglWarnNeg = 3,
56 	mglWarnFile = 4,
57 	mglWarnMem = 5,
58 	mglWarnZero = 6,
59 	mglWarnLeg = 7,
60 	mglWarnSlc = 8,
61 	mglWarnCnt = 9,
62 	mglWarnOpen = 10,
63 	mglWarnLId = 11,
64 	mglWarnSize = 12,
65 	mglWarnFmt = 13,
66 	mglWarnTern = 14,
67 	mglWarnNull = 15,
68 	mglWarnSpc = 16,
69 	mglScrArg = 17,
70 	mglScrCmd = 18,
71 	mglScrLong = 19,
72 	mglScrStr = 20,
73 	mglWarnEnd = 21
74 }
75 
76 extern (C)
77 {
78 	///
79 	double mgl_hypot (double x, double y);
80 	///
81 	size_t mgl_wcslen (const(dchar)* str);
82 	///
83 	void mgl_chrrgb (char id, float[3] rgb);
84 	///
85 	c_long mgl_have_color (const(char)* stl);
86 	///
87 	const(char*) mglchr (const(char)* str, char ch);
88 	///
89 	const(char*) mglchrs (const(char)* str, const(char)* chr);
90 	///
91 	void mgl_set_num_thr (int n);
92 	///
93 	void mgl_set_num_thr_ (int* n);
94 	///
95 	void mgl_test_txt (const(char)* str, ...);
96 	///
97 	void mgl_set_test_mode (int enable);
98 	///
99 	void mgl_strtrim (char* str);
100 	///
101 	void mgl_wcstrim (dchar* str);
102 	///
103 	void mgl_strlwr (char* str);
104 	///
105 	void mgl_wcslwr (dchar* str);
106 	///
107 	void mgl_wcstombs (char* dst, const(dchar)* src, int size);
108 	///
109 	void mgl_clear_fft ();
110 	///
111 	void mgl_set_global_warn (const(char)* text);
112 	///
113 	void mgl_set_global_warn_ (const(char)* text, int);
114 	///
115 	const(char)* mgl_get_global_warn ();
116 	///
117 	int mgl_get_global_warn_ (char* out_, int len);
118 	///
119 	alias HMGL=void*;
120 	///
121 	alias HMDT=void*;
122 	///
123 	alias HCDT=void*;
124 	///
125 	alias HMEX=void*;
126 	///
127 	alias HAEX=void*;
128 	///
129 	alias HMPR=void*;
130 
131 
132 	///
133 	int mgl_check_version (const(char)* ver);
134 	///
135 	int mgl_check_version_ (const(char)* ver, int);
136 	///
137 	void mgl_suppress_warn (int on);
138 	///
139 	void mgl_suppress_warn_ (int* on);
140 	///
141 	int mgl_get_warn (HMGL gr);
142 	///
143 	int mgl_get_warn_ (uintptr_t* gr);
144 	///
145 	void mgl_set_warn (HMGL gr, int code, const(char)* text);
146 	///
147 	void mgl_set_warn_ (uintptr_t* gr, int* code, const(char)* text, int);
148 	///
149 	const(char)* mgl_get_mess (HMGL gr);
150 	///
151 	int mgl_get_mess_ (uintptr_t* gr, char* out_, int len);
152 	///
153 	void mgl_set_plotid (HMGL gr, const(char)* id);
154 	///
155 	void mgl_set_plotid_ (uintptr_t* gr, const(char)* id, int);
156 	///
157 	const(char)* mgl_get_plotid (HMGL gr);
158 	///
159 	int mgl_get_plotid_ (uintptr_t* gr, char* out_, int len);
160 	///
161 	void mgl_ask_stop (HMGL gr, int stop);
162 	///
163 	void mgl_ask_stop_ (uintptr_t* gr, int* stop);
164 	///
165 	int mgl_need_stop (HMGL gr);
166 	///
167 	int mgl_need_stop_ (uintptr_t* gr);
168 	///
169 	void mgl_set_event_func (HMGL gr, void function (void*) func, void* par);
170 	///
171 	int mgl_get_quality (HMGL gr);
172 	///
173 	int mgl_get_quality_ (uintptr_t* gr);
174 	///
175 	void mgl_set_quality (HMGL gr, int qual);
176 	///
177 	void mgl_set_quality_ (uintptr_t* gr, int* qual);
178 	///
179 	void mgl_set_draw_reg (HMGL gr, c_long nx, c_long ny, c_long m);
180 	///
181 	void mgl_set_draw_reg_ (uintptr_t* gr, int* nx, int* ny, int* m);
182 	///
183 	int mgl_is_frames (HMGL gr);
184 	///
185 	int mgl_get_flag (HMGL gr, uint flag);
186 	///
187 	int mgl_get_flag_ (uintptr_t* gr, c_ulong* flag);
188 	///
189 	void mgl_set_flag (HMGL gr, int val, uint flag);
190 	///
191 	void mgl_set_flag_ (uintptr_t* gr, int* val, c_ulong* flag);
192 	///
193 	c_long mgl_use_graph (HMGL gr, int inc);
194 	///
195 	c_long mgl_use_graph_ (uintptr_t* gr, int* inc);
196 	///
197 	void mgl_set_rdc_acc (HMGL gr, int reduce);
198 	///
199 	void mgl_set_rdc_acc_ (uintptr_t* gr, int* reduce);
200 	///
201 	void mgl_start_group (HMGL gr, const(char)* name);
202 	///
203 	void mgl_start_group_ (uintptr_t* gr, const(char)* name, int);
204 	///
205 	void mgl_end_group (HMGL gr);
206 	///
207 	void mgl_end_group_ (uintptr_t* gr);
208 	///
209 	void mgl_highlight (HMGL gr, int id);
210 	///
211 	void mgl_highlight_ (uintptr_t* gr, int* id);
212 	///
213 	void mgl_set_palette (HMGL gr, const(char)* colors);
214 	///
215 	void mgl_set_palette_ (uintptr_t* gr, const(char)* colors, int);
216 	///
217 	void mgl_set_pal_color_ (uintptr_t* gr, int* n, mreal* r, mreal* g, mreal* b);
218 	///
219 	void mgl_set_pal_num_ (uintptr_t* gr, int* num);
220 	///
221 	void mgl_set_color (char id, double r, double g, double b);
222 	///
223 	void mgl_set_color_ (char* id, mreal* r, mreal* g, mreal* b, int);
224 	///
225 	void mgl_set_def_sch (HMGL gr, const(char)* sch);
226 	///
227 	void mgl_set_def_sch_ (uintptr_t* gr, const(char)* sch, int);
228 	///
229 	void mgl_set_mask (char id, const(char)* mask);
230 	///
231 	void mgl_set_mask_ (const(char)* id, const(char)* mask, int, int);
232 	///
233 	void mgl_set_mask_val (char id, ulong mask);
234 	///
235 	void mgl_set_mask_val_ (const(char)* id, ulong* mask, int);
236 	///
237 	void mgl_set_mask_angle (HMGL gr, int angle);
238 	///
239 	void mgl_set_mask_angle_ (uintptr_t* gr, int* angle);
240 	///
241 	void mgl_set_alpha_default (HMGL gr, double alpha);
242 	///
243 	void mgl_set_alpha_default_ (uintptr_t* gr, mreal* alpha);
244 	///
245 	void mgl_set_bar_width (HMGL gr, double width);
246 	///
247 	void mgl_set_bar_width_ (uintptr_t* gr, mreal* width);
248     ///
249 	void	 mgl_set_meshnum (HMGL gr, int num);
250     ///
251 	void	 mgl_set_meshnum_ (uintptr_t* gr, int* num);
252     ///
253 	void	 mgl_set_facenum (HMGL gr, int num);
254     ///
255 	void	 mgl_set_facenum_ (uintptr_t* gr, int* num);
256     ///
257 	void	 mgl_clear_unused (HMGL gr);
258     ///
259 	void	 mgl_clear_unused_ (uintptr_t* gr);
260     ///
261 	void	 mgl_set_ambbr (HMGL gr, double i);
262     ///
263 	void	 mgl_set_ambbr_ (uintptr_t* gr, mreal* i);
264     ///
265 	void	 mgl_set_difbr (HMGL gr, double i);
266     ///
267 	void	 mgl_set_difbr_ (uintptr_t* gr, mreal* i);
268     ///
269 	void	 mgl_set_light_dif (HMGL gr, int enable);
270     ///
271 	void	 mgl_set_light_dif_ (uintptr_t* gr, int* enable);
272     ///
273 	void	 mgl_set_cut (HMGL gr, int cut);
274     ///
275 	void	 mgl_set_cut_ (uintptr_t* gr, int* cut);
276     ///
277 	void	 mgl_set_cut_box (HMGL gr, double x1, double y1, double z1, double x2, double y2, double z2);
278     ///
279 	void	 mgl_set_cut_box_ (uintptr_t* gr, mreal* x1, mreal* y1, mreal* z1, mreal* x2, mreal* y2, mreal* z2);
280     ///
281 	void	 mgl_set_cutoff (HMGL gr, const(char)* EqC);
282     ///
283 	void	 mgl_set_cutoff_ (uintptr_t* gr, const(char)* EqC, int);
284     ///
285 	void	 mgl_set_ranges (HMGL gr, double x1, double x2, double y1, double y2, double z1, double z2);
286     ///
287 	void	 mgl_set_ranges_ (uintptr_t* gr, mreal* x1, mreal* x2, mreal* y1, mreal* y2, mreal* z1, mreal* z2);
288     ///
289 	void	 mgl_set_range_val (HMGL gr, char dir, double v1, double v2);
290     ///
291 	void	 mgl_set_range_val_ (uintptr_t* gr, const(char)* dir, mreal* v1, mreal* v2, int);
292     ///
293 	void	 mgl_add_range_val (HMGL gr, char dir, double v1, double v2);
294     ///
295 	void	 mgl_add_range_val_ (uintptr_t* gr, const(char)* dir, mreal* v1, mreal* v2, int);
296     ///
297 	void	 mgl_set_range_dat (HMGL gr, char dir, HCDT a, int add);
298     ///
299 	void	 mgl_set_range_dat_ (uintptr_t* gr, const(char)* dir, uintptr_t* a, int* add, int);
300     ///
301 	void	 mgl_set_auto_ranges (HMGL gr, double x1, double x2, double y1, double y2, double z1, double z2, double c1, double c2);
302     ///
303 	void	 mgl_set_auto_ranges_ (uintptr_t* gr, mreal* x1, mreal* x2, mreal* y1, mreal* y2, mreal* z1, mreal* z2, mreal* c1, mreal* c2);
304     ///
305 	void	 mgl_zoom_axis (HMGL gr, double x1, double y1, double z1, double c1, double x2, double y2, double z2, double c2);
306     ///
307 	void	 mgl_zoom_axis_ (uintptr_t* gr, mreal* x1, mreal* y1, mreal* z1, mreal* c1, mreal* x2, mreal* y2, mreal* z2, mreal* c2);
308     ///
309 	void	 mgl_set_origin (HMGL gr, double x0, double y0, double z0);
310     ///
311 	void	 mgl_set_origin_ (uintptr_t* gr, mreal* x0, mreal* y0, mreal* z0);
312     ///
313 	void	 mgl_set_func (HMGL gr, const(char)* EqX, const(char)* EqY, const(char)* EqZ, const(char)* EqA);
314     ///
315 	void	 mgl_set_func_ (uintptr_t* gr, const(char)* EqX, const(char)* EqY, const(char)* EqZ, const(char)* EqA, int, int, int, int);
316     ///
317 	void	 mgl_set_coor (HMGL gr, int how);
318     ///
319 	void	 mgl_set_coor_ (uintptr_t* gr, int* how);
320     ///
321 	void	 mgl_set_ternary (HMGL gr, int kind);
322     ///
323 	void	 mgl_set_ternary_ (uintptr_t* gr, int* kind);
324     ///
325 	void	 mgl_set_tick_rotate (HMGL gr, int enable);
326     ///
327 	void	 mgl_set_tick_rotate_ (uintptr_t* gr, int* enable);
328     ///
329 	void	 mgl_set_tick_skip (HMGL gr, int enable);
330     ///
331 	void	 mgl_set_tick_skip_ (uintptr_t* gr, int* enable);
332     ///
333 	void	 mgl_def_font (const(char)* name, const(char)* path);
334     ///
335 	void	 mgl_def_font_ (const(char)* name, const(char)* path, int, int);
336     ///
337 	void	 mgl_set_mark_size (HMGL gr, double size);
338     ///
339 	void	 mgl_set_mark_size_ (uintptr_t* gr, mreal* size);
340     ///
341 	void	 mgl_set_arrow_size (HMGL gr, double size);
342     ///
343 	void	 mgl_set_arrow_size_ (uintptr_t* gr, mreal* size);
344     ///
345 	void	 mgl_set_font_size (HMGL gr, double size);
346     ///
347 	void	 mgl_set_font_size_ (uintptr_t* gr, mreal* size);
348     ///
349 	void	 mgl_set_font_def (HMGL gr, const(char)* fnt);
350     ///
351 	void	 mgl_set_font_def_ (uintptr_t* gr, const(char)* fnt, int);
352     ///
353 	void	 mgl_set_rotated_text (HMGL gr, int enable);
354     ///
355 	void	 mgl_set_rotated_text_ (uintptr_t* gr, int* enable);
356     ///
357 	void	 mgl_load_font (HMGL gr, const(char)* name, const(char)* path);
358     ///
359 	void	 mgl_load_font_ (uintptr_t* gr, char* name, char* path, int l, int n);
360     ///
361 	void	 mgl_copy_font (HMGL gr, HMGL gr_from);
362     ///
363 	void	 mgl_copy_font_ (uintptr_t* gr, uintptr_t* gr_from);
364     ///
365 	void	 mgl_restore_font (HMGL gr);
366     ///
367 	void	 mgl_restore_font_ (uintptr_t* gr);
368 
369 
370 	//alias void gsl_vector;
371 	//alias void gsl_matrix;
372 
373 	///
374 	void mgl_srnd (c_long seed);
375     ///
376 	void	 mgl_srnd_ (int* seed);
377 	///
378 	double mgl_rnd ();
379 	///
380 	double mgl_ipow (double x, int n);
381 	///
382 	double mgl_ipow_ (mreal* x, int* n);
383 	///
384 	double mgl_get_time (const(char)* time, const(char)* fmt);
385 	///
386 	double mgl_get_time_ (const(char)* time, const(char)* fmt, int, int);
387 	///
388 	HMDT mgl_create_data ();
389 	///
390 	uintptr_t mgl_create_data_ ();
391 	///
392 	HMDT mgl_create_data_size (c_long nx, c_long ny, c_long nz);
393 	///
394 	uintptr_t mgl_create_data_size_ (int* nx, int* ny, int* nz);
395 	///
396 	HMDT mgl_create_data_file (const(char)* fname);
397 	///
398 	uintptr_t mgl_create_data_file_ (const(char)* fname, int len);
399     ///
400 	void	 mgl_delete_data (HMDT dat);
401     ///
402 	void	 mgl_delete_data_ (uintptr_t* dat);
403     ///
404 	void	 mgl_data_rearrange (HMDT dat, c_long mx, c_long my, c_long mz);
405     ///
406 	void	 mgl_data_rearrange_ (uintptr_t* dat, int* mx, int* my, int* mz);
407     ///
408 	void	 mgl_data_link (HMDT dat, mreal* A, c_long mx, c_long my, c_long mz);
409     ///
410 	void	 mgl_data_link_ (uintptr_t* d, mreal* A, int* nx, int* ny, int* nz);
411     ///
412 	void	 mgl_data_set_float (HMDT dat, const(float)* A, c_long mx, c_long my, c_long mz);
413     ///
414 	void	 mgl_data_set_float_ (uintptr_t* dat, const(float)* A, int* NX, int* NY, int* NZ);
415     ///
416 	void	 mgl_data_set_float1_ (uintptr_t* d, const(float)* A, int* N1);
417     ///
418 	void	 mgl_data_set_double (HMDT dat, const(double)* A, c_long mx, c_long my, c_long mz);
419     ///
420 	void	 mgl_data_set_double_ (uintptr_t* dat, const(double)* A, int* NX, int* NY, int* NZ);
421     ///
422 	void	 mgl_data_set_double1_ (uintptr_t* d, const(double)* A, int* N1);
423     ///
424 	void	 mgl_data_set_float2 (HMDT d, const(float*)* A, c_long N1, c_long N2);
425     ///
426 	void	 mgl_data_set_float2_ (uintptr_t* d, const(float)* A, int* N1, int* N2);
427     ///
428 	void	 mgl_data_set_double2 (HMDT d, const(double*)* A, c_long N1, c_long N2);
429     ///
430 	void	 mgl_data_set_double2_ (uintptr_t* d, const(double)* A, int* N1, int* N2);
431     ///
432 	void	 mgl_data_set_float3 (HMDT d, const(float**)* A, c_long N1, c_long N2, c_long N3);
433     ///
434 	void	 mgl_data_set_float3_ (uintptr_t* d, const(float)* A, int* N1, int* N2, int* N3);
435     ///
436 	void	 mgl_data_set_double3 (HMDT d, const(double**)* A, c_long N1, c_long N2, c_long N3);
437     ///
438 	void	 mgl_data_set_double3_ (uintptr_t* d, const(double)* A, int* N1, int* N2, int* N3);
439     ///
440 	void	 mgl_data_set (HMDT dat, HCDT a);
441     ///
442 	void	 mgl_data_set_ (uintptr_t* dat, uintptr_t* a);
443     ///
444 	void	 mgl_data_set_vector (HMDT dat, gsl_vector* v);
445     ///
446 	void	 mgl_data_set_matrix (HMDT dat, gsl_matrix* m);
447     ///
448 	void	 mgl_data_set_value (HMDT dat, mreal v, c_long i, c_long j, c_long k);
449     ///
450 	void	 mgl_data_set_value_ (uintptr_t* d, mreal* v, int* i, int* j, int* k);
451 	///
452 	mreal mgl_data_get_value (HCDT dat, c_long i, c_long j, c_long k);
453 	///
454 	mreal mgl_data_get_value_ (uintptr_t* d, int* i, int* j, int* k);
455     ///
456 	void	 mgl_data_set_values (HMDT dat, const(char)* val, c_long nx, c_long ny, c_long nz);
457     ///
458 	void	 mgl_data_set_values_ (uintptr_t* d, const(char)* val, int* nx, int* ny, int* nz, int l);
459     ///
460 	int mgl_data_read_hdf (HMDT d, const(char)* fname, const(char)* data);
461     ///
462 	int mgl_data_read_hdf_ (uintptr_t* d, const(char)* fname, const(char)* data, int l, int n);
463     ///
464 	int mgl_data_read (HMDT dat, const(char)* fname);
465     ///
466 	int mgl_data_read_ (uintptr_t* d, const(char)* fname, int l);
467     ///
468 	int mgl_data_read_mat (HMDT dat, const(char)* fname, c_long dim);
469     ///
470 	int mgl_data_read_mat_ (uintptr_t* dat, const(char)* fname, int* dim, int);
471     ///
472 	int mgl_data_read_dim (HMDT dat, const(char)* fname, c_long mx, c_long my, c_long mz);
473     ///
474 	int mgl_data_read_dim_ (uintptr_t* dat, const(char)* fname, int* mx, int* my, int* mz, int);
475     ///
476 	int mgl_data_read_range (HMDT d, const(char)* templ, double n1, double n2, double step, int as_slice);
477     ///
478 	int mgl_data_read_range_ (uintptr_t* d, const(char)* fname, mreal* n1, mreal* n2, mreal* step, int* as_slice, int l);
479     ///
480 	int mgl_data_read_all (HMDT dat, const(char)* templ, int as_slice);
481     ///
482 	int mgl_data_read_all_ (uintptr_t* d, const(char)* fname, int* as_slice, int l);
483     ///
484 	void	 mgl_data_import (HMDT dat, const(char)* fname, const(char)* scheme, mreal v1, mreal v2);
485     ///
486 	void	 mgl_data_import_ (uintptr_t* dat, const(char)* fname, const(char)* scheme, mreal* v1, mreal* v2, int, int);
487     ///
488 	void	 mgl_data_create (HMDT dat, c_long nx, c_long ny, c_long nz);
489     ///
490 	void	 mgl_data_create_ (uintptr_t* dat, int* nx, int* ny, int* nz);
491     ///
492 	void	 mgl_data_transpose (HMDT dat, const(char)* dim);
493     ///
494 	void	 mgl_data_transpose_ (uintptr_t* dat, const(char)* dim, int);
495     ///
496 	void	 mgl_data_norm (HMDT dat, mreal v1, mreal v2, c_long sym, c_long dim);
497     ///
498 	void	 mgl_data_norm_ (uintptr_t* dat, mreal* v1, mreal* v2, int* sym, int* dim);
499     ///
500 	void	 mgl_data_norm_slice (HMDT dat, mreal v1, mreal v2, char dir, c_long keep_en, c_long sym);
501     ///
502 	void	 mgl_data_norm_slice_ (uintptr_t* dat, mreal* v1, mreal* v2, char* dir, int* keep_en, int* sym, int l);
503     ///
504 	HMDT mgl_data_subdata (HCDT dat, c_long xx, c_long yy, c_long zz);
505     ///
506 	uintptr_t mgl_data_subdata_ (uintptr_t* dat, int* xx, int* yy, int* zz);
507     ///
508 	HMDT mgl_data_subdata_ext (HCDT dat, HCDT xx, HCDT yy, HCDT zz);
509     ///
510 	uintptr_t mgl_data_subdata_ext_ (uintptr_t* dat, uintptr_t* xx, uintptr_t* yy, uintptr_t* zz);
511     ///
512 	HMDT mgl_data_column (HCDT dat, const(char)* eq);
513     ///
514 	uintptr_t mgl_data_column_ (uintptr_t* dat, const(char)* eq, int l);
515     ///
516 	void	 mgl_data_set_id (HMDT d, const(char)* id);
517     ///
518 	void	 mgl_data_set_id_ (uintptr_t* dat, const(char)* id, int l);
519     ///
520 	void	 mgl_data_fill (HMDT dat, mreal x1, mreal x2, char dir);
521     ///
522 	void	 mgl_data_fill_ (uintptr_t* dat, mreal* x1, mreal* x2, const(char)* dir, int);
523     ///
524 	void	 mgl_data_fill_eq (HMGL gr, HMDT dat, const(char)* eq, HCDT vdat, HCDT wdat, const(char)* opt);
525     ///
526 	void	 mgl_data_fill_eq_ (uintptr_t* gr, uintptr_t* dat, const(char)* eq, uintptr_t* vdat, uintptr_t* wdat, const(char)* opt, int, int);
527     ///
528 	void	 mgl_data_refill_gs (HMDT dat, HCDT xdat, HCDT vdat, mreal x1, mreal x2, c_long sl);
529     ///
530 	void	 mgl_data_refill_gs_ (uintptr_t* dat, uintptr_t* xdat, uintptr_t* vdat, mreal* x1, mreal* x2, c_long* sl);
531     ///
532 	void	 mgl_data_refill_x (HMDT dat, HCDT xdat, HCDT vdat, mreal x1, mreal x2, c_long sl);
533     ///
534 	void	 mgl_data_refill_x_ (uintptr_t* dat, uintptr_t* xdat, uintptr_t* vdat, mreal* x1, mreal* x2, c_long* sl);
535     ///
536 	void	 mgl_data_refill_xy (HMDT dat, HCDT xdat, HCDT ydat, HCDT vdat, mreal x1, mreal x2, mreal y1, mreal y2, c_long sl);
537     ///
538 	void	 mgl_data_refill_xy_ (uintptr_t* dat, uintptr_t* xdat, uintptr_t* ydat, uintptr_t* vdat, mreal* x1, mreal* x2, mreal* y1, mreal* y2, c_long* sl);
539     ///
540 	void	 mgl_data_refill_xyz (HMDT dat, HCDT xdat, HCDT ydat, HCDT zdat, HCDT vdat, mreal x1, mreal x2, mreal y1, mreal y2, mreal z1, mreal z2);
541     ///
542 	void	 mgl_data_refill_xyz_ (uintptr_t* dat, uintptr_t* xdat, uintptr_t* ydat, uintptr_t* zdat, uintptr_t* vdat, mreal* x1, mreal* x2, mreal* y1, mreal* y2, mreal* z1, mreal* z2);
543     ///
544 	void	 mgl_data_refill_gr (HMGL gr, HMDT dat, HCDT xdat, HCDT ydat, HCDT zdat, HCDT vdat, c_long sl, const(char)* opt);
545     ///
546 	void	 mgl_data_refill_gr_ (uintptr_t* gr, uintptr_t* dat, uintptr_t* xdat, uintptr_t* ydat, uintptr_t* zdat, uintptr_t* vdat, c_long* sl, const(char)* opt, int);
547     ///
548 	void	 mgl_data_grid (HMGL gr, HMDT d, HCDT xdat, HCDT ydat, HCDT zdat, const(char)* opt);
549     ///
550 	void	 mgl_data_grid_ (uintptr_t* gr, uintptr_t* dat, uintptr_t* xdat, uintptr_t* ydat, uintptr_t* zdat, const(char)* opt, int);
551     ///
552 	void	 mgl_data_grid_xy (HMDT d, HCDT xdat, HCDT ydat, HCDT zdat, mreal x1, mreal x2, mreal y1, mreal y2);
553     ///
554 	void	 mgl_data_grid_xy_ (uintptr_t* dat, uintptr_t* xdat, uintptr_t* ydat, uintptr_t* zdat, mreal* x1, mreal* x2, mreal* y1, mreal* y2);
555     ///
556 	void	 mgl_data_put_val (HMDT dat, mreal val, c_long i, c_long j, c_long k);
557     ///
558 	void	 mgl_data_put_val_ (uintptr_t* dat, mreal* val, int* i, int* j, int* k);
559     ///
560 	void	 mgl_data_put_dat (HMDT dat, HCDT val, c_long i, c_long j, c_long k);
561     ///
562 	void	 mgl_data_put_dat_ (uintptr_t* dat, uintptr_t* val, int* i, int* j, int* k);
563     ///
564 	void	 mgl_data_modify (HMDT dat, const(char)* eq, c_long dim);
565     ///
566 	void	 mgl_data_modify_ (uintptr_t* dat, const(char)* eq, int* dim, int);
567     ///
568 	void	 mgl_data_modify_vw (HMDT dat, const(char)* eq, HCDT vdat, HCDT wdat);
569     ///
570 	void	 mgl_data_modify_vw_ (uintptr_t* dat, const(char)* eq, uintptr_t* vdat, uintptr_t* wdat, int);
571     ///
572 	void	 mgl_data_squeeze (HMDT dat, c_long rx, c_long ry, c_long rz, c_long smooth);
573     ///
574 	void	 mgl_data_squeeze_ (uintptr_t* dat, int* rx, int* ry, int* rz, int* smooth);
575     ///
576 	mreal* mgl_data_value (HMDT dat, c_long i, c_long j, c_long k);
577     ///
578 	mreal* mgl_data_data (HMDT dat);
579     ///
580 	c_long mgl_data_get_nx (HCDT d);
581     ///
582 	c_long mgl_data_get_nx_ (uintptr_t* d);
583     ///
584 	c_long mgl_data_get_ny (HCDT d);
585     ///
586 	c_long mgl_data_get_ny_ (uintptr_t* d);
587     ///
588 	c_long mgl_data_get_nz (HCDT d);
589     ///
590 	c_long mgl_data_get_nz_ (uintptr_t* d);
591     ///
592 	HMDT mgl_data_combine (HCDT dat1, HCDT dat2);
593     ///
594 	uintptr_t mgl_data_combine_ (uintptr_t* dat1, uintptr_t* dat2);
595     ///
596 	void	 mgl_data_extend (HMDT dat, c_long n1, c_long n2);
597     ///
598 	void	 mgl_data_extend_ (uintptr_t* dat, int* n1, int* n2);
599     ///
600 	void	 mgl_data_insert (HMDT dat, char dir, c_long at, c_long num);
601     ///
602 	void	 mgl_data_insert_ (uintptr_t* dat, const(char)* dir, int* at, int* num, int);
603     ///
604 	void	 mgl_data_delete (HMDT dat, char dir, c_long at, c_long num);
605     ///
606 	void	 mgl_data_delete_ (uintptr_t* dat, const(char)* dir, int* at, int* num, int);
607     ///
608 	void	 mgl_data_join (HMDT dat, HCDT d);
609     ///
610 	void	 mgl_data_join_ (uintptr_t* dat, uintptr_t* d);
611     ///
612 	void	 mgl_data_smooth (HMDT d, const(char)* dirs, mreal delta);
613     ///
614 	void	 mgl_data_smooth_ (uintptr_t* dat, const(char)* dirs, mreal* delta, int);
615     ///
616 	HMDT mgl_data_sum (HCDT dat, const(char)* dir);
617     ///
618 	uintptr_t mgl_data_sum_ (uintptr_t* dat, const(char)* dir, int);
619     ///
620 	HMDT mgl_data_max_dir (HCDT dat, const(char)* dir);
621     ///
622 	uintptr_t mgl_data_max_dir_ (uintptr_t* dat, const(char)* dir, int);
623     ///
624 	HMDT mgl_data_min_dir (HCDT dat, const(char)* dir);
625     ///
626 	uintptr_t mgl_data_min_dir_ (uintptr_t* dat, const(char)* dir, int);
627     ///
628 	void	 mgl_data_cumsum (HMDT dat, const(char)* dir);
629     ///
630 	void	 mgl_data_cumsum_ (uintptr_t* dat, const(char)* dir, int);
631     ///
632 	void	 mgl_data_integral (HMDT dat, const(char)* dir);
633     ///
634 	void	 mgl_data_integral_ (uintptr_t* dat, const(char)* dir, int);
635     ///
636 	void	 mgl_data_diff (HMDT dat, const(char)* dir);
637     ///
638 	void	 mgl_data_diff_ (uintptr_t* dat, const(char)* dir, int);
639     ///
640 	void	 mgl_data_diff_par (HMDT dat, HCDT v1, HCDT v2, HCDT v3);
641     ///
642 	void	 mgl_data_diff_par_ (uintptr_t* dat, uintptr_t* v1, uintptr_t* v2, uintptr_t* v3);
643     ///
644 	void	 mgl_data_diff2 (HMDT dat, const(char)* dir);
645     ///
646 	void	 mgl_data_diff2_ (uintptr_t* dat, const(char)* dir, int);
647     ///
648 	void	 mgl_data_swap (HMDT dat, const(char)* dir);
649     ///
650 	void	 mgl_data_swap_ (uintptr_t* dat, const(char)* dir, int);
651     ///
652 	void	 mgl_data_roll (HMDT dat, char dir, c_long num);
653     ///
654 	void	 mgl_data_roll_ (uintptr_t* dat, const(char)* dir, int* num, int);
655     ///
656 	void	 mgl_data_mirror (HMDT dat, const(char)* dir);
657     ///
658 	void	 mgl_data_mirror_ (uintptr_t* dat, const(char)* dir, int);
659     ///
660 	void	 mgl_data_sort (HMDT dat, c_long idx, c_long idy);
661     ///
662 	void	 mgl_data_sort_ (uintptr_t* dat, int* idx, int* idy);
663     ///
664 	void	 mgl_data_hankel (HMDT dat, const(char)* dir);
665     ///
666 	void	 mgl_data_hankel_ (uintptr_t* dat, const(char)* dir, int);
667     ///
668 	void	 mgl_data_sinfft (HMDT dat, const(char)* dir);
669     ///
670 	void	 mgl_data_sinfft_ (uintptr_t* dat, const(char)* dir, int);
671     ///
672 	void	 mgl_data_cosfft (HMDT dat, const(char)* dir);
673     ///
674 	void	 mgl_data_cosfft_ (uintptr_t* dat, const(char)* dir, int);
675     ///
676 	void	 mgl_data_fill_sample (HMDT dat, const(char)* how);
677     ///
678 	void	 mgl_data_fill_sample_ (uintptr_t* dat, const(char)* how, int);
679     ///
680 	HMDT mgl_data_correl (HCDT dat1, HCDT dat2, const(char)* dir);
681     ///
682 	uintptr_t mgl_data_correl_ (uintptr_t* dat1, uintptr_t* dat2, const(char)* dir, int);
683     ///
684 	void	* mgl_fft_alloc (c_long n, void** space, c_long nthr);
685     ///
686 	void	* mgl_fft_alloc_thr (c_long n);
687     ///
688 	void	 mgl_fft_free (void* wt, void** ws, c_long nthr);
689     ///
690 	void	 mgl_fft_free_thr (void* wt);
691     ///
692 	void	 mgl_fft (double* x, c_long s, c_long n, const(void)* wt, void* ws, int inv);
693     ///
694 	void	 mgl_clear_fft ();
695     ///
696 	mreal mgl_data_spline (HCDT dat, mreal x, mreal y, mreal z);
697     ///
698 	mreal mgl_data_spline_ (uintptr_t* dat, mreal* x, mreal* y, mreal* z);
699     ///
700 	mreal mgl_data_linear (HCDT dat, mreal x, mreal y, mreal z);
701     ///
702 	mreal mgl_data_linear_ (uintptr_t* dat, mreal* x, mreal* y, mreal* z);
703     ///
704 	mreal mgl_data_spline_ext (HCDT dat, mreal x, mreal y, mreal z, mreal* dx, mreal* dy, mreal* dz);
705     ///
706 	mreal mgl_data_spline_ext_ (uintptr_t* dat, mreal* x, mreal* y, mreal* z, mreal* dx, mreal* dy, mreal* dz);
707     ///
708 	HMDT mgl_gspline_init (HCDT x, HCDT v);
709     ///
710 	uintptr_t mgl_gspline_init_ (uintptr_t* x, uintptr_t* v);
711     ///
712 	mreal mgl_gspline (HCDT coef, mreal dx, mreal* d1, mreal* d2);
713     ///
714 	mreal mgl_gspline_ (uintptr_t* c, mreal* dx, mreal* d1, mreal* d2);
715     ///
716 	mreal mgl_data_linear_ext (HCDT dat, mreal x, mreal y, mreal z, mreal* dx, mreal* dy, mreal* dz);
717     ///
718 	mreal mgl_data_linear_ext_ (uintptr_t* dat, mreal* x, mreal* y, mreal* z, mreal* dx, mreal* dy, mreal* dz);
719     ///
720 	mreal mgl_data_solve_1d (HCDT dat, mreal val, int spl, c_long i0);
721     ///
722 	mreal mgl_data_solve_1d_ (uintptr_t* dat, mreal* val, int* spl, int* i0);
723     ///
724 	HMDT mgl_data_solve (HCDT dat, mreal val, char dir, HCDT i0, int norm);
725     ///
726 	uintptr_t mgl_data_solve_ (uintptr_t* dat, mreal* val, const(char)* dir, uintptr_t* i0, int* norm, int);
727     ///
728 	HMDT mgl_data_trace (HCDT d);
729     ///
730 	uintptr_t mgl_data_trace_ (uintptr_t* d);
731     ///
732 	HMDT mgl_data_resize (HCDT dat, c_long mx, c_long my, c_long mz);
733     ///
734 	uintptr_t mgl_data_resize_ (uintptr_t* dat, int* mx, int* my, int* mz);
735     ///
736 	HMDT mgl_data_resize_box (HCDT dat, c_long mx, c_long my, c_long mz, mreal x1, mreal x2, mreal y1, mreal y2, mreal z1, mreal z2);
737     ///
738 	uintptr_t mgl_data_resize_box_ (uintptr_t* dat, int* mx, int* my, int* mz, mreal* x1, mreal* x2, mreal* y1, mreal* y2, mreal* z1, mreal* z2);
739     ///
740 	HMDT mgl_data_hist (HCDT dat, c_long n, mreal v1, mreal v2, c_long nsub);
741     ///
742 	uintptr_t mgl_data_hist_ (uintptr_t* dat, int* n, mreal* v1, mreal* v2, int* nsub);
743     ///
744 	HMDT mgl_data_hist_w (HCDT dat, HCDT weight, c_long n, mreal v1, mreal v2, c_long nsub);
745     ///
746 	uintptr_t mgl_data_hist_w_ (uintptr_t* dat, uintptr_t* weight, int* n, mreal* v1, mreal* v2, int* nsub);
747     ///
748 	HMDT mgl_data_momentum (HCDT dat, char dir, const(char)* how);
749     ///
750 	uintptr_t mgl_data_momentum_ (uintptr_t* dat, char* dir, const(char)* how, int, int);
751     ///
752 	HMDT mgl_data_evaluate (HCDT dat, HCDT idat, HCDT jdat, HCDT kdat, int norm);
753     ///
754 	uintptr_t mgl_data_evaluate_ (uintptr_t* dat, uintptr_t* idat, uintptr_t* jdat, uintptr_t* kdat, int* norm);
755     ///
756 	void	 mgl_data_envelop (HMDT dat, char dir);
757     ///
758 	void	 mgl_data_envelop_ (uintptr_t* dat, const(char)* dir, int);
759     ///
760 	void	 mgl_data_sew (HMDT dat, const(char)* dirs, mreal da);
761     ///
762 	void	 mgl_data_sew_ (uintptr_t* dat, const(char)* dirs, mreal* da, int);
763     ///
764 	void	 mgl_data_crop (HMDT dat, c_long n1, c_long n2, char dir);
765     ///
766 	void	 mgl_data_crop_ (uintptr_t* dat, int* n1, int* n2, const(char)* dir, int);
767     ///
768 	void	 mgl_data_clean (HMDT dat, c_long id);
769     ///
770 	void	 mgl_data_clean_ (uintptr_t* dat, int* id);
771     ///
772 	void	 mgl_data_mul_dat (HMDT dat, HCDT d);
773     ///
774 	void	 mgl_data_mul_dat_ (uintptr_t* dat, uintptr_t* d);
775     ///
776 	void	 mgl_data_div_dat (HMDT dat, HCDT d);
777     ///
778 	void	 mgl_data_div_dat_ (uintptr_t* dat, uintptr_t* d);
779     ///
780 	void	 mgl_data_add_dat (HMDT dat, HCDT d);
781     ///
782 	void	 mgl_data_add_dat_ (uintptr_t* dat, uintptr_t* d);
783     ///
784 	void	 mgl_data_sub_dat (HMDT dat, HCDT d);
785     ///
786 	void	 mgl_data_sub_dat_ (uintptr_t* dat, uintptr_t* d);
787     ///
788 	void	 mgl_data_mul_num (HMDT dat, mreal d);
789     ///
790 	void	 mgl_data_mul_num_ (uintptr_t* dat, mreal* d);
791     ///
792 	void	 mgl_data_div_num (HMDT dat, mreal d);
793     ///
794 	void	 mgl_data_div_num_ (uintptr_t* dat, mreal* d);
795     ///
796 	void	 mgl_data_add_num (HMDT dat, mreal d);
797     ///
798 	void	 mgl_data_add_num_ (uintptr_t* dat, mreal* d);
799     ///
800 	void	 mgl_data_sub_num (HMDT dat, mreal d);
801     ///
802 	void	 mgl_data_sub_num_ (uintptr_t* dat, mreal* d);
803     ///
804 	HMDT mgl_transform_a (HCDT am, HCDT ph, const(char)* tr);
805     ///
806 	uintptr_t mgl_transform_a_ (uintptr_t* am, uintptr_t* ph, const(char)* tr, int);
807     ///
808 	HMDT mgl_transform (HCDT re, HCDT im, const(char)* tr);
809     ///
810 	uintptr_t mgl_transform_ (uintptr_t* re, uintptr_t* im, const(char)* tr, int);
811     ///
812 	void	 mgl_data_fourier (HMDT re, HMDT im, const(char)* dir);
813     ///
814 	void	 mgl_data_fourier_ (uintptr_t* re, uintptr_t* im, const(char)* dir, int l);
815     ///
816 	HMDT mgl_data_stfa (HCDT re, HCDT im, c_long dn, char dir);
817     ///
818 	uintptr_t mgl_data_stfa_ (uintptr_t* re, uintptr_t* im, int* dn, char* dir, int);
819     ///
820 	HMDT mgl_triangulation_3d (HCDT x, HCDT y, HCDT z);
821     ///
822 	uintptr_t mgl_triangulation_3d_ (uintptr_t* x, uintptr_t* y, uintptr_t* z);
823     ///
824 	HMDT mgl_triangulation_2d (HCDT x, HCDT y);
825     ///
826 	uintptr_t mgl_triangulation_2d_ (uintptr_t* x, uintptr_t* y);
827     ///
828 	mreal mgl_find_root (mreal function (mreal, void*) func, mreal ini, void* par);
829     ///
830 	mreal mgl_find_root_txt (const(char)* func, mreal ini, char var_id);
831     ///
832 	mreal mgl_find_root_txt_ (const(char)* func, mreal* ini, const(char)* var_id, int, int);
833     ///
834 	HMDT mgl_data_roots (const(char)* func, HCDT ini, char var_id);
835     ///
836 	uintptr_t mgl_data_roots_ (const(char)* func, uintptr_t* ini, const(char)* var_id, int, int);
837     ///
838 	HMEX mgl_create_expr (const(char)* expr);
839     ///
840 	uintptr_t mgl_create_expr_ (const(char)* expr, int);
841     ///
842 	void	 mgl_delete_expr (HMEX ex);
843     ///
844 	void	 mgl_delete_expr_ (uintptr_t* ex);
845     ///
846 	double mgl_expr_eval (HMEX ex, double x, double y, double z);
847     ///
848 	double mgl_expr_eval_ (uintptr_t* ex, mreal* x, mreal* y, mreal* z);
849     ///
850 	double mgl_expr_eval_v (HMEX ex, mreal* vars);
851     ///
852 	double mgl_expr_diff (HMEX ex, char dir, double x, double y, double z);
853     ///
854 	double mgl_expr_diff_ (uintptr_t* ex, const(char)* dir, mreal* x, mreal* y, mreal* z, int);
855     ///
856 	double mgl_expr_diff_v (HMEX ex, char dir, mreal* vars);
857 
858     ///
859 	alias void* HADT;
860 
861     ///
862 	struct gsl_matrix {};
863     ///
864 	struct gsl_vector {};
865 
866     ///
867 	void mgl_srnd (c_long seed);
868     ///
869 	double mgl_rnd ();
870     ///
871 	mdual mgl_ipowc (mdual x, int n);
872     ///
873 	mdual mgl_ipowc_ (mdual* x, int* n);
874     ///
875 	mdual mgl_expi (mdual a);
876     ///
877 	HADT mgl_create_datac ();
878     ///
879 	uintptr_t mgl_create_datac_ ();
880     ///
881 	HADT mgl_create_datac_size (c_long nx, c_long ny, c_long nz);
882     ///
883 	uintptr_t mgl_create_datac_size_ (int* nx, int* ny, int* nz);
884     ///
885 	HADT mgl_create_datac_file (const(char)* fname);
886     ///
887 	uintptr_t mgl_create_datac_file_ (const(char)* fname, int len);
888     ///
889 	void	 mgl_delete_datac (HADT dat);
890     ///
891 	void	 mgl_delete_datac_ (uintptr_t* dat);
892     ///
893 	void	 mgl_datac_rearrange (HADT dat, c_long mx, c_long my, c_long mz);
894     ///
895 	void	 mgl_datac_rearrange_ (uintptr_t* dat, int* mx, int* my, int* mz);
896     ///
897 	void	 mgl_datac_link (HADT dat, mdual* A, c_long mx, c_long my, c_long mz);
898     ///
899 	void	 mgl_datac_link_ (uintptr_t* d, mdual* A, int* nx, int* ny, int* nz);
900     ///
901 	void	 mgl_datac_set_float (HADT dat, const(float)* A, c_long mx, c_long my, c_long mz);
902     ///
903 	void	 mgl_datac_set_float_ (uintptr_t* dat, const(float)* A, int* NX, int* NY, int* NZ);
904     ///
905 	void	 mgl_datac_set_double (HADT dat, const(double)* A, c_long mx, c_long my, c_long mz);
906     ///
907 	void	 mgl_datac_set_double_ (uintptr_t* dat, const(double)* A, int* NX, int* NY, int* NZ);
908     ///
909 	void	 mgl_datac_set_complex (HADT dat, const(mdual)* A, c_long mx, c_long my, c_long mz);
910     ///
911 	void	 mgl_datac_set_complex_ (uintptr_t* d, const(mdual)* A, int* NX, int* NY, int* NZ);
912     ///
913 	void	 mgl_datac_set (HADT dat, HCDT a);
914     ///
915 	void	 mgl_datac_set_ (uintptr_t* dat, uintptr_t* a);
916     ///
917 	void	 mgl_datac_set_vector (HADT dat, gsl_vector* v);
918     ///
919 	void	 mgl_datac_set_matrix (HADT dat, gsl_matrix* m);
920     ///
921 	void	 mgl_datac_set_value (HADT dat, mdual v, c_long i, c_long j, c_long k);
922     ///
923 	void	 mgl_datac_set_value_ (uintptr_t* d, mdual* v, int* i, int* j, int* k);
924     ///
925 	mdual mgl_datac_get_value (HCDT dat, c_long i, c_long j, c_long k);
926     ///
927 	mdual mgl_datac_get_value_ (uintptr_t* d, int* i, int* j, int* k);
928     ///
929 	void	 mgl_datac_set_values (HADT dat, const(char)* val, c_long nx, c_long ny, c_long nz);
930     ///
931 	void	 mgl_datac_set_values_ (uintptr_t* d, const(char)* val, int* nx, int* ny, int* nz, int l);
932     ///
933 	mdual* mgl_datac_data (HADT dat);
934     ///
935 	mdual* mgl_datac_value (HADT dat, c_long i, c_long j, c_long k);
936     ///
937 	void	 mgl_datac_set_ri (HADT dat, HCDT re, HCDT im);
938     ///
939 	void	 mgl_datac_set_ri_ (uintptr_t* dat, uintptr_t* re, uintptr_t* im);
940     ///
941 	void	 mgl_datac_set_ap (HADT dat, HCDT abs, HCDT phi);
942     ///
943 	void	 mgl_datac_set_ap_ (uintptr_t* dat, uintptr_t* abs, uintptr_t* phi);
944     ///
945 	int mgl_datac_read (HADT dat, const(char)* fname);
946     ///
947 	int mgl_datac_read_ (uintptr_t* d, const(char)* fname, int l);
948     ///
949 	int mgl_datac_read_mat (HADT dat, const(char)* fname, c_long dim);
950     ///
951 	int mgl_datac_read_mat_ (uintptr_t* dat, const(char)* fname, int* dim, int);
952     ///
953 	int mgl_datac_read_dim (HADT dat, const(char)* fname, c_long mx, c_long my, c_long mz);
954     ///
955 	int mgl_datac_read_dim_ (uintptr_t* dat, const(char)* fname, int* mx, int* my, int* mz, int);
956     ///
957 	int mgl_datac_read_range (HADT d, const(char)* templ, double from, double to, double step, int as_slice);
958     ///
959 	int mgl_datac_read_range_ (uintptr_t* d, const(char)* fname, mreal* from, mreal* to, mreal* step, int* as_slice, int l);
960     ///
961 	int mgl_datac_read_all (HADT dat, const(char)* templ, int as_slice);
962     ///
963 	int mgl_datac_read_all_ (uintptr_t* d, const(char)* fname, int* as_slice, int l);
964     ///
965 	void	 mgl_datac_save (HCDT dat, const(char)* fname, c_long ns);
966     ///
967 	void	 mgl_datac_save_ (uintptr_t* dat, const(char)* fname, int* ns, int);
968     ///
969 	int mgl_datac_read_hdf (HADT d, const(char)* fname, const(char)* data);
970     ///
971 	int mgl_datac_read_hdf_ (uintptr_t* d, const(char)* fname, const(char)* data, int l, int n);
972     ///
973 	void	 mgl_datac_save_hdf (HCDT d, const(char)* fname, const(char)* data, int rewrite);
974     ///
975 	void	 mgl_datac_save_hdf_ (uintptr_t* d, const(char)* fname, const(char)* data, int* rewrite, int l, int n);
976     ///
977 	void	 mgl_datac_create (HADT dat, c_long nx, c_long ny, c_long nz);
978     ///
979 	void	 mgl_datac_create_ (uintptr_t* dat, int* nx, int* ny, int* nz);
980     ///
981 	void	 mgl_datac_transpose (HADT dat, const(char)* dim);
982     ///
983 	void	 mgl_datac_transpose_ (uintptr_t* dat, const(char)* dim, int);
984     ///
985 	HADT mgl_datac_subdata (HCDT dat, c_long xx, c_long yy, c_long zz);
986     ///
987 	uintptr_t mgl_datac_subdata_ (uintptr_t* dat, int* xx, int* yy, int* zz);
988     ///
989 	HADT mgl_datac_subdata_ext (HCDT dat, HCDT xx, HCDT yy, HCDT zz);
990     ///
991 	uintptr_t mgl_datac_subdata_ext_ (uintptr_t* dat, uintptr_t* xx, uintptr_t* yy, uintptr_t* zz);
992     ///
993 	HADT mgl_datac_column (HCDT dat, const(char)* eq);
994     ///
995 	uintptr_t mgl_datac_column_ (uintptr_t* dat, const(char)* eq, int l);
996     ///
997 	HADT mgl_datac_trace (HCDT d);
998     ///
999 	uintptr_t mgl_datac_trace_ (uintptr_t* d);
1000     ///
1001 	HADT mgl_datac_resize (HCDT dat, c_long mx, c_long my, c_long mz);
1002     ///
1003 	uintptr_t mgl_datac_resize_ (uintptr_t* dat, int* mx, int* my, int* mz);
1004     ///
1005 	HADT mgl_datac_resize_box (HCDT dat, c_long mx, c_long my, c_long mz, mreal x1, mreal x2, mreal y1, mreal y2, mreal z1, mreal z2);
1006     ///
1007 	uintptr_t mgl_datac_resize_box_ (uintptr_t* dat, int* mx, int* my, int* mz, mreal* x1, mreal* x2, mreal* y1, mreal* y2, mreal* z1, mreal* z2);
1008     ///
1009 	HADT mgl_datac_momentum (HCDT dat, char dir, const(char)* how);
1010     ///
1011 	uintptr_t mgl_datac_momentum_ (uintptr_t* dat, char* dir, const(char)* how, int, int);
1012     ///
1013 	HADT mgl_datac_evaluate (HCDT dat, HCDT idat, HCDT jdat, HCDT kdat, int norm);
1014     ///
1015 	uintptr_t mgl_datac_evaluate_ (uintptr_t* dat, uintptr_t* idat, uintptr_t* jdat, uintptr_t* kdat, int* norm);
1016     ///
1017 	HADT mgl_datac_sum (HCDT dat, const(char)* dir);
1018     ///
1019 	uintptr_t mgl_datac_sum_ (uintptr_t* dat, const(char)* dir, int);
1020     ///
1021 	HADT mgl_datac_combine (HCDT dat1, HCDT dat2);
1022     ///
1023 	uintptr_t mgl_datac_combine_ (uintptr_t* dat1, uintptr_t* dat2);
1024     ///
1025 	void	 mgl_datac_set_id (HADT d, const(char)* id);
1026     ///
1027 	void	 mgl_datac_set_id_ (uintptr_t* dat, const(char)* id, int l);
1028     ///
1029 	void	 mgl_datac_fill (HADT dat, mdual x1, mdual x2, char dir);
1030     ///
1031 	void	 mgl_datac_fill_ (uintptr_t* dat, mdual* x1, mdual* x2, const(char)* dir, int);
1032     ///
1033 	void	 mgl_datac_fill_eq (HMGL gr, HADT dat, const(char)* eq, HCDT vdat, HCDT wdat, const(char)* opt);
1034     ///
1035 	void	 mgl_datac_fill_eq_ (uintptr_t* gr, uintptr_t* dat, const(char)* eq, uintptr_t* vdat, uintptr_t* wdat, const(char)* opt, int, int);
1036     ///
1037 	void	 mgl_datac_modify (HADT dat, const(char)* eq, c_long dim);
1038     ///
1039 	void	 mgl_datac_modify_ (uintptr_t* dat, const(char)* eq, int* dim, int);
1040     ///
1041 	void	 mgl_datac_modify_vw (HADT dat, const(char)* eq, HCDT vdat, HCDT wdat);
1042     ///
1043 	void	 mgl_datac_modify_vw_ (uintptr_t* dat, const(char)* eq, uintptr_t* vdat, uintptr_t* wdat, int);
1044     ///
1045 	void	 mgl_datac_put_val (HADT dat, mdual val, c_long i, c_long j, c_long k);
1046     ///
1047 	void	 mgl_datac_put_val_ (uintptr_t* dat, mdual* val, int* i, int* j, int* k);
1048     ///
1049 	void	 mgl_datac_put_dat (HADT dat, HCDT val, c_long i, c_long j, c_long k);
1050     ///
1051 	void	 mgl_datac_put_dat_ (uintptr_t* dat, uintptr_t* val, int* i, int* j, int* k);
1052     ///
1053 	void	 mgl_datac_squeeze (HADT dat, c_long rx, c_long ry, c_long rz, c_long smooth);
1054     ///
1055 	void	 mgl_datac_squeeze_ (uintptr_t* dat, int* rx, int* ry, int* rz, int* smooth);
1056     ///
1057 	void	 mgl_datac_extend (HADT dat, c_long n1, c_long n2);
1058     ///
1059 	void	 mgl_datac_extend_ (uintptr_t* dat, int* n1, int* n2);
1060     ///
1061 	void	 mgl_datac_insert (HADT dat, char dir, c_long at, c_long num);
1062     ///
1063 	void	 mgl_datac_insert_ (uintptr_t* dat, const(char)* dir, int* at, int* num, int);
1064     ///
1065 	void	 mgl_datac_delete (HADT dat, char dir, c_long at, c_long num);
1066     ///
1067 	void	 mgl_datac_delete_ (uintptr_t* dat, const(char)* dir, int* at, int* num, int);
1068     ///
1069 	void	 mgl_datac_join (HADT dat, HCDT d);
1070     ///
1071 	void	 mgl_datac_join_ (uintptr_t* dat, uintptr_t* d);
1072     ///
1073 	void	 mgl_datac_smooth (HADT d, const(char)* dirs, mreal delta);
1074     ///
1075 	void	 mgl_datac_smooth_ (uintptr_t* dat, const(char)* dirs, mreal* delta, int);
1076     ///
1077 	void	 mgl_datac_cumsum (HADT dat, const(char)* dir);
1078     ///
1079 	void	 mgl_datac_cumsum_ (uintptr_t* dat, const(char)* dir, int);
1080     ///
1081 	void	 mgl_datac_integral (HADT dat, const(char)* dir);
1082     ///
1083 	void	 mgl_datac_integral_ (uintptr_t* dat, const(char)* dir, int);
1084     ///
1085 	void	 mgl_datac_diff (HADT dat, const(char)* dir);
1086     ///
1087 	void	 mgl_datac_diff_ (uintptr_t* dat, const(char)* dir, int);
1088     ///
1089 	void	 mgl_datac_diff2 (HADT dat, const(char)* dir);
1090     ///
1091 	void	 mgl_datac_diff2_ (uintptr_t* dat, const(char)* dir, int);
1092     ///
1093 	void	 mgl_datac_swap (HADT dat, const(char)* dir);
1094     ///
1095 	void	 mgl_datac_swap_ (uintptr_t* dat, const(char)* dir, int);
1096     ///
1097 	void	 mgl_datac_roll (HADT dat, char dir, c_long num);
1098     ///
1099 	void	 mgl_datac_roll_ (uintptr_t* dat, const(char)* dir, int* num, int);
1100     ///
1101 	void	 mgl_datac_mirror (HADT dat, const(char)* dir);
1102     ///
1103 	void	 mgl_datac_mirror_ (uintptr_t* dat, const(char)* dir, int);
1104     ///
1105 	void	 mgl_datac_crop (HADT dat, c_long n1, c_long n2, char dir);
1106     ///
1107 	void	 mgl_datac_crop_ (uintptr_t* dat, int* n1, int* n2, const(char)* dir, int);
1108     ///
1109 	void	 mgl_datac_hankel (HADT dat, const(char)* dir);
1110     ///
1111 	void	 mgl_datac_hankel_ (uintptr_t* dat, const(char)* dir, int);
1112     ///
1113 	void	 mgl_datac_fft (HADT dat, const(char)* dir);
1114     ///
1115 	void	 mgl_datac_fft_ (uintptr_t* dat, const(char)* dir, int);
1116     ///
1117 	HADT mgl_datac_correl (HCDT dat1, HCDT dat2, const(char)* dir);
1118     ///
1119 	uintptr_t mgl_datac_correl_ (uintptr_t* dat1, uintptr_t* dat2, const(char)* dir, int);
1120     ///
1121 	void	 mgl_datac_diffr (HADT dat, const(char)* how, mreal q);
1122     ///
1123 	void	 mgl_datac_diffr_ (uintptr_t* d, const(char)* how, double q, int l);
1124     ///
1125 	HMDT mgl_datac_real (HCDT dat);
1126     ///
1127 	uintptr_t mgl_datac_real_ (uintptr_t* dat);
1128     ///
1129 	HMDT mgl_datac_imag (HCDT dat);
1130     ///
1131 	uintptr_t mgl_datac_imag_ (uintptr_t* dat);
1132     ///
1133 	HMDT mgl_datac_abs (HCDT dat);
1134     ///
1135 	uintptr_t mgl_datac_abs_ (uintptr_t* dat);
1136     ///
1137 	HMDT mgl_datac_arg (HCDT dat);
1138     ///
1139 	uintptr_t mgl_datac_arg_ (uintptr_t* dat);
1140     ///
1141 	mdual mgl_datac_linear (HCDT d, mreal x, mreal y, mreal z);
1142     ///
1143 	mdual mgl_datac_linear_ (uintptr_t* d, mreal* x, mreal* y, mreal* z);
1144     ///
1145 	mdual mgl_datac_linear_ext (HCDT d, mreal x, mreal y, mreal z, mdual* dx, mdual* dy, mdual* dz);
1146     ///
1147 	mdual mgl_datac_linear_ext_ (uintptr_t* d, mreal* x, mreal* y, mreal* z, mdual* dx, mdual* dy, mdual* dz);
1148     ///
1149 	mdual mgl_datac_spline (HCDT dat, mreal x, mreal y, mreal z);
1150     ///
1151 	mdual mgl_datac_spline_ (uintptr_t* dat, mreal* x, mreal* y, mreal* z);
1152     ///
1153 	mdual mgl_datac_spline_ext (HCDT dat, mreal x, mreal y, mreal z, mdual* dx, mdual* dy, mdual* dz);
1154     ///
1155 	mdual mgl_datac_spline_ext_ (uintptr_t* dat, mreal* x, mreal* y, mreal* z, mdual* dx, mdual* dy, mdual* dz);
1156     ///
1157 	HADT mgl_gsplinec_init (HCDT x, HCDT v);
1158     ///
1159 	uintptr_t mgl_gspline_init_ (uintptr_t* x, uintptr_t* v);
1160     ///
1161 	mdual mgl_gsplinec (HCDT coef, mreal dx, mdual* d1, mdual* d2);
1162     ///
1163 	mdual mgl_gsplinec_ (uintptr_t* c, mreal* dx, mdual* d1, mdual* d2);
1164     ///
1165 	HAEX mgl_create_cexpr (const(char)* expr);
1166     ///
1167 	uintptr_t mgl_create_cexpr_ (const(char)* expr, int);
1168     ///
1169 	void	 mgl_delete_cexpr (HAEX ex);
1170     ///
1171 	void	 mgl_delete_cexpr_ (uintptr_t* ex);
1172     ///
1173 	mdual mgl_cexpr_eval (HAEX ex, mdual x, mdual y, mdual z);
1174     ///
1175 	mdual mgl_cexpr_eval_ (uintptr_t* ex, mdual* x, mdual* y, mdual* z);
1176     ///
1177 	mdual mgl_cexpr_eval_v (HAEX ex, mdual* vars);
1178     ///
1179 	void mgl_text_xyz (HMGL gr, HCDT x, HCDT y, HCDT z, const(char)* text, const(char)* font, const(char)* opt);
1180     ///
1181 	void	 mgl_text_xyz_ (uintptr_t* gr, uintptr_t* x, uintptr_t* y, uintptr_t* z, const(char)* text, const(char)* font, const(char)* opt, int, int l, int n);
1182     ///
1183 	void	 mgl_textw_xyz (HMGL gr, HCDT x, HCDT y, HCDT z, const(dchar)* text, const(char)* font, const(char)* opt);
1184     ///
1185 	void	 mgl_text_xy (HMGL gr, HCDT x, HCDT y, const(char)* text, const(char)* font, const(char)* opt);
1186     ///
1187 	void	 mgl_text_xy_ (uintptr_t* gr, uintptr_t* x, uintptr_t* y, const(char)* text, const(char)* font, const(char)* opt, int, int l, int n);
1188     ///
1189 	void	 mgl_textw_xy (HMGL gr, HCDT x, HCDT y, const(dchar)* text, const(char)* font, const(char)* opt);
1190     ///
1191 	void	 mgl_text_y (HMGL gr, HCDT y, const(char)* text, const(char)* font, const(char)* opt);
1192     ///
1193 	void	 mgl_text_y_ (uintptr_t* gr, uintptr_t* y, const(char)* text, const(char)* font, const(char)* opt, int, int l, int n);
1194     ///
1195 	void	 mgl_textw_y (HMGL gr, HCDT y, const(dchar)* text, const(char)* font, const(char)* opt);
1196     ///
1197 	void	 mgl_cont_gen (HMGL gr, double val, HCDT a, HCDT x, HCDT y, HCDT z, const(char)* stl);
1198     ///
1199 	void	 mgl_contf_gen (HMGL gr, double v1, double v2, HCDT a, HCDT x, HCDT y, HCDT z, const(char)* stl);
1200     ///
1201 	void	 mgl_cont_xy_val (HMGL gr, HCDT v, HCDT x, HCDT y, HCDT z, const(char)* sch, const(char)* opt);
1202     ///
1203 	void	 mgl_cont_xy_val_ (uintptr_t* gr, uintptr_t* v, uintptr_t* x, uintptr_t* y, uintptr_t* z, const(char)* sch, const(char)* opt, int, int);
1204     ///
1205 	void	 mgl_cont_val (HMGL gr, HCDT v, HCDT z, const(char)* sch, const(char)* opt);
1206     ///
1207 	void	 mgl_cont_val_ (uintptr_t* gr, uintptr_t* v, uintptr_t* z, const(char)* sch, const(char)* opt, int, int);
1208     ///
1209 	void	 mgl_cont_xy (HMGL gr, HCDT x, HCDT y, HCDT z, const(char)* sch, const(char)* opt);
1210     ///
1211 	void	 mgl_cont_xy_ (uintptr_t* gr, uintptr_t* x, uintptr_t* y, uintptr_t* z, const(char)* sch, const(char)* opt, int, int);
1212     ///
1213 	void	 mgl_cont (HMGL gr, HCDT z, const(char)* sch, const(char)* opt);
1214     ///
1215 	void	 mgl_cont_ (uintptr_t* gr, uintptr_t* z, const(char)* sch, const(char)* opt, int, int);
1216     ///
1217 	void	 mgl_contf_xy_val (HMGL gr, HCDT v, HCDT x, HCDT y, HCDT z, const(char)* sch, const(char)* opt);
1218     ///
1219 	void	 mgl_contf_xy_val_ (uintptr_t* gr, uintptr_t* v, uintptr_t* x, uintptr_t* y, uintptr_t* z, const(char)* sch, const(char)* opt, int, int);
1220     ///
1221 	void	 mgl_contf_val (HMGL gr, HCDT v, HCDT z, const(char)* sch, const(char)* opt);
1222     ///
1223 	void	 mgl_contf_val_ (uintptr_t* gr, uintptr_t* v, uintptr_t* z, const(char)* sch, const(char)* opt, int, int);
1224     ///
1225 	void	 mgl_contf_xy (HMGL gr, HCDT x, HCDT y, HCDT z, const(char)* sch, const(char)* opt);
1226     ///
1227 	void	 mgl_contf_xy_ (uintptr_t* gr, uintptr_t* x, uintptr_t* y, uintptr_t* z, const(char)* sch, const(char)* opt, int, int);
1228     ///
1229 	void	 mgl_contf (HMGL gr, HCDT z, const(char)* sch, const(char)* opt);
1230     ///
1231 	void	 mgl_contf_ (uintptr_t* gr, uintptr_t* z, const(char)* sch, const(char)* opt, int, int);
1232     ///
1233 	void	 mgl_contd_xy_val (HMGL gr, HCDT v, HCDT x, HCDT y, HCDT z, const(char)* sch, const(char)* opt);
1234     ///
1235 	void	 mgl_contd_xy_val_ (uintptr_t* gr, uintptr_t* v, uintptr_t* x, uintptr_t* y, uintptr_t* z, const(char)* sch, const(char)* opt, int, int);
1236     ///
1237 	void	 mgl_contd_val (HMGL gr, HCDT v, HCDT z, const(char)* sch, const(char)* opt);
1238     ///
1239 	void	 mgl_contd_val_ (uintptr_t* gr, uintptr_t* v, uintptr_t* z, const(char)* sch, const(char)* opt, int, int);
1240     ///
1241 	void	 mgl_contd_xy (HMGL gr, HCDT x, HCDT y, HCDT z, const(char)* sch, const(char)* opt);
1242     ///
1243 	void	 mgl_contd_xy_ (uintptr_t* gr, uintptr_t* x, uintptr_t* y, uintptr_t* z, const(char)* sch, const(char)* opt, int, int);
1244     ///
1245 	void	 mgl_contd (HMGL gr, HCDT z, const(char)* sch, const(char)* opt);
1246     ///
1247 	void	 mgl_contd_ (uintptr_t* gr, uintptr_t* z, const(char)* sch, const(char)* opt, int, int);
1248     ///
1249 	void	 mgl_contv_xy_val (HMGL gr, HCDT v, HCDT x, HCDT y, HCDT z, const(char)* sch, const(char)* opt);
1250     ///
1251 	void	 mgl_contv_xy_val_ (uintptr_t* gr, uintptr_t* v, uintptr_t* x, uintptr_t* y, uintptr_t* z, const(char)* sch, const(char)* opt, int, int);
1252     ///
1253 	void	 mgl_contv_val (HMGL gr, HCDT v, HCDT z, const(char)* sch, const(char)* opt);
1254     ///
1255 	void	 mgl_contv_val_ (uintptr_t* gr, uintptr_t* v, uintptr_t* z, const(char)* sch, const(char)* opt, int, int);
1256     ///
1257 	void	 mgl_contv_xy (HMGL gr, HCDT x, HCDT y, HCDT z, const(char)* sch, const(char)* opt);
1258     ///
1259 	void	 mgl_contv_xy_ (uintptr_t* gr, uintptr_t* x, uintptr_t* y, uintptr_t* z, const(char)* sch, const(char)* opt, int, int);
1260     ///
1261 	void	 mgl_contv (HMGL gr, HCDT z, const(char)* sch, const(char)* opt);
1262     ///
1263 	void	 mgl_contv_ (uintptr_t* gr, uintptr_t* z, const(char)* sch, const(char)* opt, int, int);
1264     ///
1265 	void	 mgl_axial_xy_val (HMGL gr, HCDT v, HCDT x, HCDT y, HCDT a, const(char)* sch, const(char)* opt);
1266     ///
1267 	void	 mgl_axial_xy_val_ (uintptr_t* gr, uintptr_t* v, uintptr_t* x, uintptr_t* y, uintptr_t* a, const(char)* sch, const(char)* opt, int, int);
1268     ///
1269 	void	 mgl_axial_val (HMGL gr, HCDT v, HCDT a, const(char)* sch, const(char)* opt);
1270     ///
1271 	void	 mgl_axial_val_ (uintptr_t* gr, uintptr_t* v, uintptr_t* a, const(char)* sch, const(char)* opt, int, int);
1272     ///
1273 	void	 mgl_axial_xy (HMGL gr, HCDT x, HCDT y, HCDT a, const(char)* sch, const(char)* opt);
1274     ///
1275 	void	 mgl_axial_xy_ (uintptr_t* gr, uintptr_t* x, uintptr_t* y, uintptr_t* a, const(char)* sch, const(char)* opt, int, int);
1276     ///
1277 	void	 mgl_axial (HMGL gr, HCDT a, const(char)* sch, const(char)* opt);
1278     ///
1279 	void	 mgl_axial_ (uintptr_t* gr, uintptr_t* a, const(char)* sch, const(char)* opt, int, int);
1280     ///
1281 	void	 mgl_torus (HMGL gr, HCDT r, HCDT z, const(char)* col, const(char)* opt);
1282     ///
1283 	void	 mgl_torus_ (uintptr_t* gr, uintptr_t* r, uintptr_t* z, const(char)* pen, const(char)* opt, int, int);
1284     ///
1285 	void	 mgl_grid3_xyz (HMGL gr, HCDT x, HCDT y, HCDT z, HCDT a, const(char)* stl, double sVal, const(char)* opt);
1286     ///
1287 	void	 mgl_grid3_xyz_ (uintptr_t* gr, uintptr_t* x, uintptr_t* y, uintptr_t* z, uintptr_t* a, const(char)* sch, mreal* sVal, const(char)* opt, int, int);
1288     ///
1289 	void	 mgl_grid3 (HMGL gr, HCDT a, const(char)* stl, double sVal, const(char)* opt);
1290     ///
1291 	void	 mgl_grid3_ (uintptr_t* gr, uintptr_t* a, const(char)* sch, mreal* sVal, const(char)* opt, int, int);
1292     ///
1293 	void	 mgl_dens3_xyz (HMGL gr, HCDT x, HCDT y, HCDT z, HCDT a, const(char)* stl, double sVal, const(char)* opt);
1294     ///
1295 	void	 mgl_dens3_xyz_ (uintptr_t* gr, uintptr_t* x, uintptr_t* y, uintptr_t* z, uintptr_t* a, const(char)* sch, mreal* sVal, const(char)* opt, int, int);
1296     ///
1297 	void	 mgl_dens3 (HMGL gr, HCDT a, const(char)* stl, double sVal, const(char)* opt);
1298     ///
1299 	void	 mgl_dens3_ (uintptr_t* gr, uintptr_t* a, const(char)* sch, mreal* sVal, const(char)* opt, int, int);
1300     ///
1301 	void	 mgl_cont3_xyz_val (HMGL gr, HCDT v, HCDT x, HCDT y, HCDT z, HCDT a, const(char)* sch, double sVal, const(char)* opt);
1302     ///
1303 	void	 mgl_cont3_xyz_val_ (uintptr_t* gr, uintptr_t* v, uintptr_t* x, uintptr_t* y, uintptr_t* z, uintptr_t* a, const(char)* sch, mreal* sVal, const(char)* opt, int, int);
1304     ///
1305 	void	 mgl_cont3_val (HMGL gr, HCDT v, HCDT a, const(char)* sch, double sVal, const(char)* opt);
1306     ///
1307 	void	 mgl_cont3_val_ (uintptr_t* gr, uintptr_t* v, uintptr_t* a, const(char)* sch, mreal* sVal, const(char)* opt, int, int);
1308     ///
1309 	void	 mgl_cont3_xyz (HMGL gr, HCDT x, HCDT y, HCDT z, HCDT a, const(char)* sch, double sVal, const(char)* opt);
1310     ///
1311 	void	 mgl_cont3_xyz_ (uintptr_t* gr, uintptr_t* x, uintptr_t* y, uintptr_t* z, uintptr_t* a, const(char)* sch, mreal* sVal, const(char)* opt, int, int);
1312     ///
1313 	void	 mgl_cont3 (HMGL gr, HCDT a, const(char)* sch, double sVal, const(char)* opt);
1314     ///
1315 	void	 mgl_cont3_ (uintptr_t* gr, uintptr_t* a, const(char)* sch, mreal* sVal, const(char)* opt, int, int);
1316     ///
1317 	void	 mgl_contf3_xyz_val (HMGL gr, HCDT v, HCDT x, HCDT y, HCDT z, HCDT a, const(char)* sch, double sVal, const(char)* opt);
1318     ///
1319 	void	 mgl_contf3_xyz_val_ (uintptr_t* gr, uintptr_t* v, uintptr_t* x, uintptr_t* y, uintptr_t* z, uintptr_t* a, const(char)* sch, mreal* sVal, const(char)* opt, int, int);
1320     ///
1321 	void	 mgl_contf3_val (HMGL gr, HCDT v, HCDT a, const(char)* sch, double sVal, const(char)* opt);
1322     ///
1323 	void	 mgl_contf3_val_ (uintptr_t* gr, uintptr_t* v, uintptr_t* a, const(char)* sch, mreal* sVal, const(char)* opt, int, int);
1324     ///
1325 	void	 mgl_contf3_xyz (HMGL gr, HCDT x, HCDT y, HCDT z, HCDT a, const(char)* sch, double sVal, const(char)* opt);
1326     ///
1327 	void	 mgl_contf3_xyz_ (uintptr_t* gr, uintptr_t* x, uintptr_t* y, uintptr_t* z, uintptr_t* a, const(char)* sch, mreal* sVal, const(char)* opt, int, int);
1328     ///
1329 	void	 mgl_contf3 (HMGL gr, HCDT a, const(char)* sch, double sVal, const(char)* opt);
1330     ///
1331 	void	 mgl_contf3_ (uintptr_t* gr, uintptr_t* a, const(char)* sch, mreal* sVal, const(char)* opt, int, int);
1332 
1333     ///
1334 	extern __gshared int mglFitPnts;
1335     ///
1336 	extern __gshared char[1024] mglFitRes;
1337     ///
1338 	HMDT mgl_fit_1 (HMGL gr, HCDT y, const(char)* eq, const(char)* vars, HMDT ini, const(char)* opt);
1339     ///
1340 	HMDT mgl_fit_2 (HMGL gr, HCDT z, const(char)* eq, const(char)* vars, HMDT ini, const(char)* opt);
1341     ///
1342 	HMDT mgl_fit_3 (HMGL gr, HCDT a, const(char)* eq, const(char)* vars, HMDT ini, const(char)* opt);
1343     ///
1344 	HMDT mgl_fit_xy (HMGL gr, HCDT x, HCDT y, const(char)* eq, const(char)* vars, HMDT ini, const(char)* opt);
1345     ///
1346 	HMDT mgl_fit_xyz (HMGL gr, HCDT x, HCDT y, HCDT z, const(char)* eq, const(char)* vars, HMDT ini, const(char)* opt);
1347     ///
1348 	HMDT mgl_fit_xyza (HMGL gr, HCDT x, HCDT y, HCDT z, HCDT a, const(char)* eq, const(char)* vars, HMDT ini, const(char)* opt);
1349     ///
1350 	HMDT mgl_fit_ys (HMGL gr, HCDT y, HCDT s, const(char)* eq, const(char)* vars, HMDT ini, const(char)* opt);
1351     ///
1352 	HMDT mgl_fit_xys (HMGL gr, HCDT x, HCDT y, HCDT s, const(char)* eq, const(char)* vars, HMDT ini, const(char)* opt);
1353     ///
1354 	HMDT mgl_fit_xyzs (HMGL gr, HCDT x, HCDT y, HCDT z, HCDT s, const(char)* eq, const(char)* vars, HMDT ini, const(char)* opt);
1355     ///
1356 	HMDT mgl_fit_xyzas (HMGL gr, HCDT x, HCDT y, HCDT z, HCDT a, HCDT s, const(char)* eq, const(char)* vars, HMDT ini, const(char)* opt);
1357     ///
1358 	const(char)* mgl_get_fit (HMGL gr);
1359     ///
1360 	int mgl_get_fit_ (uintptr_t* gr, char* out_, int len);
1361     ///
1362 	HMDT mgl_hist_x (HMGL gr, HCDT x, HCDT a, const(char)* opt);
1363     ///
1364 	HMDT mgl_hist_xy (HMGL gr, HCDT x, HCDT y, HCDT a, const(char)* opt);
1365     ///
1366 	HMDT mgl_hist_xyz (HMGL gr, HCDT x, HCDT y, HCDT z, HCDT a, const(char)* opt);
1367     ///
1368 	void	 mgl_puts_fit (HMGL gr, double x, double y, double z, const(char)* prefix, const(char)* font, double size);
1369     ///
1370 	mreal mgl_get_fit_chi ();
1371     ///
1372 	uintptr_t mgl_fit_1_ (uintptr_t* gr, uintptr_t* y, const(char)* eq, const(char)* vars, uintptr_t* ini, const(char)* opt, int, int l, int n);
1373     ///
1374 	uintptr_t mgl_fit_2_ (uintptr_t* gr, uintptr_t* z, const(char)* eq, const(char)* vars, uintptr_t* ini, const(char)* opt, int, int l, int n);
1375     ///
1376 	uintptr_t mgl_fit_3_ (uintptr_t* gr, uintptr_t* a, const(char)* eq, const(char)* vars, uintptr_t* ini, const(char)* opt, int, int l, int n);
1377     ///
1378 	uintptr_t mgl_fit_xy_ (uintptr_t* gr, uintptr_t* x, uintptr_t* y, const(char)* eq, const(char)* vars, uintptr_t* ini, const(char)* opt, int, int l, int n);
1379     ///
1380 	uintptr_t mgl_fit_xyz_ (uintptr_t* gr, uintptr_t* x, uintptr_t* y, uintptr_t* z, const(char)* eq, const(char)* vars, uintptr_t* ini, const(char)* opt, int, int l, int n);
1381     ///
1382 	uintptr_t mgl_fit_xyza_ (uintptr_t* gr, uintptr_t* x, uintptr_t* y, uintptr_t* z, uintptr_t* a, const(char)* eq, const(char)* vars, uintptr_t* ini, const(char)* opt, int, int l, int n);
1383     ///
1384 	uintptr_t mgl_fit_ys_ (uintptr_t* gr, uintptr_t* y, uintptr_t* ss, const(char)* eq, const(char)* vars, uintptr_t* ini, const(char)* opt, int, int l, int n);
1385     ///
1386 	uintptr_t mgl_fit_xys_ (uintptr_t* gr, uintptr_t* x, uintptr_t* y, uintptr_t* ss, const(char)* eq, const(char)* vars, uintptr_t* ini, const(char)* opt, int, int l, int n);
1387     ///
1388 	uintptr_t mgl_fit_xyzs_ (uintptr_t* gr, uintptr_t* x, uintptr_t* y, uintptr_t* z, uintptr_t* ss, const(char)* eq, const(char)* vars, uintptr_t* ini, const(char)* opt, int, int l, int n);
1389     ///
1390 	uintptr_t mgl_fit_xyzas_ (uintptr_t* gr, uintptr_t* x, uintptr_t* y, uintptr_t* z, uintptr_t* a, uintptr_t* ss, const(char)* eq, const(char)* vars, uintptr_t* ini, const(char)* opt, int, int l, int n);
1391     ///
1392 	uintptr_t mgl_hist_x_ (uintptr_t* gr, uintptr_t* x, uintptr_t* a, const(char)* opt, int);
1393     ///
1394 	uintptr_t mgl_hist_xy_ (uintptr_t* gr, uintptr_t* x, uintptr_t* y, uintptr_t* a, const(char)* opt, int);
1395     ///
1396 	uintptr_t mgl_hist_xyz_ (uintptr_t* gr, uintptr_t* x, uintptr_t* y, uintptr_t* z, uintptr_t* a, const(char)* opt, int);
1397     ///
1398 	void	 mgl_puts_fit_ (uintptr_t* gr, mreal* x, mreal* y, mreal* z, const(char)* prefix, const(char)* font, mreal* size, int l, int n);
1399     ///
1400 	mreal mgl_get_fit_chi_ ();
1401 
1402 	void mgl_fplot (HMGL gr, const(char)* eqY, const(char)* pen, const(char)* opt);
1403     ///
1404 	void	 mgl_fplot_ (uintptr_t* gr, const(char)* fy, const(char)* stl, const(char)* opt, int ly, int ls, int lo);
1405     ///
1406 	void	 mgl_fplot_xyz (HMGL gr, const(char)* eqX, const(char)* eqY, const(char)* eqZ, const(char)* pen, const(char)* opt);
1407     ///
1408 	void	 mgl_fplot_xyz_ (uintptr_t* gr, const(char)* fx, const(char)* fy, const(char)* fz, const(char)* stl, const(char)* opt, int lx, int ly, int lz, int ls, int lo);
1409     ///
1410 	void	 mgl_radar (HMGL graph, HCDT a, const(char)* pen, const(char)* opt);
1411     ///
1412 	void	 mgl_radar_ (uintptr_t* gr, uintptr_t* a, const(char)* pen, const(char)* opt, int l, int lo);
1413     ///
1414 	void	 mgl_plot_xyz (HMGL graph, HCDT x, HCDT y, HCDT z, const(char)* pen, const(char)* opt);
1415     ///
1416 	void	 mgl_plot_xyz_ (uintptr_t* graph, uintptr_t* x, uintptr_t* y, uintptr_t* z, const(char)* pen, const(char)* opt, int, int);
1417     ///
1418 	void	 mgl_plot_xy (HMGL graph, HCDT x, HCDT y, const(char)* pen, const(char)* opt);
1419     ///
1420 	void	 mgl_plot_xy_ (uintptr_t* graph, uintptr_t* x, uintptr_t* y, const(char)* pen, const(char)* opt, int, int);
1421     ///
1422 	void	 mgl_plot (HMGL graph, HCDT y, const(char)* pen, const(char)* opt);
1423     ///
1424 	void	 mgl_plot_ (uintptr_t* graph, uintptr_t* y, const(char)* pen, const(char)* opt, int, int);
1425     ///
1426 	void	 mgl_tens_xyz (HMGL graph, HCDT x, HCDT y, HCDT z, HCDT c, const(char)* pen, const(char)* opt);
1427     ///
1428 	void	 mgl_tens_xyz_ (uintptr_t* graph, uintptr_t* x, uintptr_t* y, uintptr_t* z, uintptr_t* c, const(char)* pen, const(char)* opt, int, int);
1429     ///
1430 	void	 mgl_tens_xy (HMGL graph, HCDT x, HCDT y, HCDT c, const(char)* pen, const(char)* opt);
1431     ///
1432 	void	 mgl_tens_xy_ (uintptr_t* graph, uintptr_t* x, uintptr_t* y, uintptr_t* c, const(char)* pen, const(char)* opt, int, int);
1433     ///
1434 	void	 mgl_tens (HMGL graph, HCDT y, HCDT c, const(char)* pen, const(char)* opt);
1435     ///
1436 	void	 mgl_tens_ (uintptr_t* graph, uintptr_t* y, uintptr_t* c, const(char)* pen, const(char)* opt, int, int);
1437     ///
1438 	void	 mgl_tape_xyz (HMGL graph, HCDT x, HCDT y, HCDT z, const(char)* pen, const(char)* opt);
1439     ///
1440 	void	 mgl_tape_xyz_ (uintptr_t* graph, uintptr_t* x, uintptr_t* y, uintptr_t* z, const(char)* pen, const(char)* opt, int, int);
1441     ///
1442 	void	 mgl_tape_xy (HMGL graph, HCDT x, HCDT y, const(char)* pen, const(char)* opt);
1443     ///
1444 	void	 mgl_tape_xy_ (uintptr_t* graph, uintptr_t* x, uintptr_t* y, const(char)* pen, const(char)* opt, int, int);
1445     ///
1446 	void	 mgl_tape (HMGL graph, HCDT y, const(char)* pen, const(char)* opt);
1447     ///
1448 	void	 mgl_tape_ (uintptr_t* graph, uintptr_t* y, const(char)* pen, const(char)* opt, int, int);
1449     ///
1450 	void	 mgl_boxplot_xy (HMGL graph, HCDT x, HCDT a, const(char)* pen, const(char)* opt);
1451     ///
1452 	void	 mgl_boxplot_xy_ (uintptr_t* graph, uintptr_t* x, uintptr_t* y, const(char)* pen, const(char)* opt, int, int);
1453     ///
1454 	void	 mgl_boxplot (HMGL graph, HCDT a, const(char)* pen, const(char)* opt);
1455     ///
1456 	void	 mgl_boxplot_ (uintptr_t* graph, uintptr_t* y, const(char)* pen, const(char)* opt, int, int);
1457     ///
1458 	void	 mgl_area_xyz (HMGL graph, HCDT x, HCDT y, HCDT z, const(char)* pen, const(char)* opt);
1459     ///
1460 	void	 mgl_area_xyz_ (uintptr_t* graph, uintptr_t* x, uintptr_t* y, uintptr_t* z, const(char)* pen, const(char)* opt, int, int);
1461     ///
1462 	void	 mgl_area_xy (HMGL graph, HCDT x, HCDT y, const(char)* pen, const(char)* opt);
1463     ///
1464 	void	 mgl_area_xy_ (uintptr_t* graph, uintptr_t* x, uintptr_t* y, const(char)* pen, const(char)* opt, int, int);
1465     ///
1466 	void	 mgl_area (HMGL graph, HCDT y, const(char)* pen, const(char)* opt);
1467     ///
1468 	void	 mgl_area_ (uintptr_t* graph, uintptr_t* y, const(char)* pen, const(char)* opt, int, int);
1469     ///
1470 	void	 mgl_region_3d (HMGL graph, HCDT x1, HCDT y1, HCDT z1, HCDT x2, HCDT y2, HCDT z2, const(char)* pen, const(char)* opt);
1471     ///
1472 	void	 mgl_region_3d_ (uintptr_t* graph, uintptr_t* x1, uintptr_t* y1, uintptr_t* z1, uintptr_t* x2, uintptr_t* y2, uintptr_t* z2, const(char)* pen, const(char)* opt, int, int);
1473     ///
1474 	void	 mgl_region_xy (HMGL graph, HCDT x, HCDT y1, HCDT y2, const(char)* pen, const(char)* opt);
1475     ///
1476 	void	 mgl_region_xy_ (uintptr_t* graph, uintptr_t* x, uintptr_t* y1, uintptr_t* y2, const(char)* pen, const(char)* opt, int, int);
1477     ///
1478 	void	 mgl_region (HMGL graph, HCDT y1, HCDT y2, const(char)* pen, const(char)* opt);
1479     ///
1480 	void	 mgl_region_ (uintptr_t* graph, uintptr_t* y1, uintptr_t* y2, const(char)* pen, const(char)* opt, int, int);
1481     ///
1482 	void	 mgl_stem_xyz (HMGL graph, HCDT x, HCDT y, HCDT z, const(char)* pen, const(char)* opt);
1483     ///
1484 	void	 mgl_stem_xyz_ (uintptr_t* graph, uintptr_t* x, uintptr_t* y, uintptr_t* z, const(char)* pen, const(char)* opt, int, int);
1485     ///
1486 	void	 mgl_stem_xy (HMGL graph, HCDT x, HCDT y, const(char)* pen, const(char)* opt);
1487     ///
1488 	void	 mgl_stem_xy_ (uintptr_t* graph, uintptr_t* x, uintptr_t* y, const(char)* pen, const(char)* opt, int, int);
1489     ///
1490 	void	 mgl_stem (HMGL graph, HCDT y, const(char)* pen, const(char)* opt);
1491     ///
1492 	void	 mgl_stem_ (uintptr_t* graph, uintptr_t* y, const(char)* pen, const(char)* opt, int, int);
1493     ///
1494 	void	 mgl_step_xyz (HMGL graph, HCDT x, HCDT y, HCDT z, const(char)* pen, const(char)* opt);
1495     ///
1496 	void	 mgl_step_xyz_ (uintptr_t* graph, uintptr_t* x, uintptr_t* y, uintptr_t* z, const(char)* pen, const(char)* opt, int, int);
1497     ///
1498 	void	 mgl_step_xy (HMGL graph, HCDT x, HCDT y, const(char)* pen, const(char)* opt);
1499     ///
1500 	void	 mgl_step_xy_ (uintptr_t* graph, uintptr_t* x, uintptr_t* y, const(char)* pen, const(char)* opt, int, int);
1501     ///
1502 	void	 mgl_step (HMGL graph, HCDT y, const(char)* pen, const(char)* opt);
1503     ///
1504 	void	 mgl_step_ (uintptr_t* graph, uintptr_t* y, const(char)* pen, const(char)* opt, int, int);
1505     ///
1506 	void	 mgl_bars_xyz (HMGL graph, HCDT x, HCDT y, HCDT z, const(char)* pen, const(char)* opt);
1507     ///
1508 	void	 mgl_bars_xyz_ (uintptr_t* graph, uintptr_t* x, uintptr_t* y, uintptr_t* z, const(char)* pen, const(char)* opt, int, int);
1509     ///
1510 	void	 mgl_bars_xy (HMGL graph, HCDT x, HCDT y, const(char)* pen, const(char)* opt);
1511     ///
1512 	void	 mgl_bars_xy_ (uintptr_t* graph, uintptr_t* x, uintptr_t* y, const(char)* pen, const(char)* opt, int, int);
1513     ///
1514 	void	 mgl_bars (HMGL graph, HCDT y, const(char)* pen, const(char)* opt);
1515     ///
1516 	void	 mgl_bars_ (uintptr_t* graph, uintptr_t* y, const(char)* pen, const(char)* opt, int, int);
1517     ///
1518 	void	 mgl_barh_yx (HMGL graph, HCDT y, HCDT v, const(char)* pen, const(char)* opt);
1519     ///
1520 	void	 mgl_barh_yx_ (uintptr_t* graph, uintptr_t* y, uintptr_t* v, const(char)* pen, const(char)* opt, int, int);
1521     ///
1522 	void	 mgl_barh (HMGL graph, HCDT v, const(char)* pen, const(char)* opt);
1523     ///
1524 	void	 mgl_barh_ (uintptr_t* graph, uintptr_t* v, const(char)* pen, const(char)* opt, int, int);
1525     ///
1526 	void	 mgl_ohlc_x (HMGL graph, HCDT x, HCDT open, HCDT high, HCDT low, HCDT close, const(char)* pen, const(char)* opt);
1527     ///
1528 	void	 mgl_ohlc_x_ (uintptr_t* graph, uintptr_t* x, uintptr_t* open, uintptr_t* high, uintptr_t* low, uintptr_t* close, const(char)* pen, const(char)* opt, int, int);
1529     ///
1530 	void	 mgl_ohlc (HMGL graph, HCDT open, HCDT high, HCDT low, HCDT close, const(char)* pen, const(char)* opt);
1531     ///
1532 	void	 mgl_ohlc_ (uintptr_t* graph, uintptr_t* open, uintptr_t* high, uintptr_t* low, uintptr_t* close, const(char)* pen, const(char)* opt, int, int);
1533     ///
1534 	void	 mgl_chart (HMGL graph, HCDT a, const(char)* col, const(char)* opt);
1535     ///
1536 	void	 mgl_chart_ (uintptr_t* graph, uintptr_t* a, const(char)* col, const(char)* opt, int, int);
1537     ///
1538 	void	 mgl_error_exy (HMGL graph, HCDT x, HCDT y, HCDT ex, HCDT ey, const(char)* pen, const(char)* opt);
1539     ///
1540 	void	 mgl_error_exy_ (uintptr_t* graph, uintptr_t* x, uintptr_t* y, uintptr_t* ex, uintptr_t* ey, const(char)* pen, const(char)* opt, int, int);
1541     ///
1542 	void	 mgl_error_xy (HMGL graph, HCDT x, HCDT y, HCDT ey, const(char)* pen, const(char)* opt);
1543     ///
1544 	void	 mgl_error_xy_ (uintptr_t* graph, uintptr_t* x, uintptr_t* y, uintptr_t* ey, const(char)* pen, const(char)* opt, int, int);
1545     ///
1546 	void	 mgl_error (HMGL graph, HCDT y, HCDT ey, const(char)* pen, const(char)* opt);
1547     ///
1548 	void	 mgl_error_ (uintptr_t* graph, uintptr_t* y, uintptr_t* ey, const(char)* pen, const(char)* opt, int, int);
1549     ///
1550 	void	 mgl_mark_xyz (HMGL graph, HCDT x, HCDT y, HCDT z, HCDT r, const(char)* pen, const(char)* opt);
1551     ///
1552 	void	 mgl_mark_xyz_ (uintptr_t* graph, uintptr_t* x, uintptr_t* y, uintptr_t* z, uintptr_t* r, const(char)* pen, const(char)* opt, int, int);
1553     ///
1554 	void	 mgl_mark_xy (HMGL graph, HCDT x, HCDT y, HCDT r, const(char)* pen, const(char)* opt);
1555     ///
1556 	void	 mgl_mark_xy_ (uintptr_t* graph, uintptr_t* x, uintptr_t* y, uintptr_t* r, const(char)* pen, const(char)* opt, int, int);
1557     ///
1558 	void	 mgl_mark_y (HMGL graph, HCDT y, HCDT r, const(char)* pen, const(char)* opt);
1559     ///
1560 	void	 mgl_mark_y_ (uintptr_t* graph, uintptr_t* y, uintptr_t* r, const(char)* pen, const(char)* opt, int, int);
1561     ///
1562 	void	 mgl_tube_xyzr (HMGL graph, HCDT x, HCDT y, HCDT z, HCDT r, const(char)* pen, const(char)* opt);
1563     ///
1564 	void	 mgl_tube_xyzr_ (uintptr_t* graph, uintptr_t* x, uintptr_t* y, uintptr_t* z, uintptr_t* r, const(char)* pen, const(char)* opt, int, int);
1565     ///
1566 	void	 mgl_tube_xyr (HMGL graph, HCDT x, HCDT y, HCDT r, const(char)* pen, const(char)* opt);
1567     ///
1568 	void	 mgl_tube_xyr_ (uintptr_t* graph, uintptr_t* x, uintptr_t* y, uintptr_t* r, const(char)* pen, const(char)* opt, int, int);
1569     ///
1570 	void	 mgl_tube_r (HMGL graph, HCDT y, HCDT r, const(char)* pen, const(char)* opt);
1571     ///
1572 	void	 mgl_tube_r_ (uintptr_t* graph, uintptr_t* y, uintptr_t* r, const(char)* pen, const(char)* opt, int, int);
1573     ///
1574 	void	 mgl_tube_xyz (HMGL graph, HCDT x, HCDT y, HCDT z, double r, const(char)* pen, const(char)* opt);
1575     ///
1576 	void	 mgl_tube_xyz_ (uintptr_t* graph, uintptr_t* x, uintptr_t* y, uintptr_t* z, mreal* r, const(char)* pen, const(char)* opt, int, int);
1577     ///
1578 	void	 mgl_tube_xy (HMGL graph, HCDT x, HCDT y, double r, const(char)* penl, const(char)* opt);
1579     ///
1580 	void	 mgl_tube_xy_ (uintptr_t* graph, uintptr_t* x, uintptr_t* y, mreal* r, const(char)* pen, const(char)* opt, int, int);
1581     ///
1582 	void	 mgl_tube (HMGL graph, HCDT y, double r, const(char)* pen, const(char)* opt);
1583     ///
1584 	void	 mgl_tube_ (uintptr_t* graph, uintptr_t* y, mreal* r, const(char)* pen, const(char)* opt, int, int);
1585     ///
1586 	void	 mgl_candle_xyv (HMGL gr, HCDT x, HCDT v1, HCDT v2, HCDT y1, HCDT y2, const(char)* pen, const(char)* opt);
1587     ///
1588 	void	 mgl_candle_xyv_ (uintptr_t* gr, uintptr_t* x, uintptr_t* v1, uintptr_t* v2, uintptr_t* y1, uintptr_t* y2, const(char)* pen, const(char)* opt, int, int);
1589     ///
1590 	void	 mgl_candle_yv (HMGL gr, HCDT v1, HCDT v2, HCDT y1, HCDT y2, const(char)* pen, const(char)* opt);
1591     ///
1592 	void	 mgl_candle_yv_ (uintptr_t* gr, uintptr_t* v1, uintptr_t* v2, uintptr_t* y1, uintptr_t* y2, const(char)* pen, const(char)* opt, int, int);
1593     ///
1594 	void	 mgl_candle (HMGL gr, HCDT v, HCDT y1, HCDT y2, const(char)* pen, const(char)* opt);
1595     ///
1596 	void	 mgl_candle_ (uintptr_t* gr, uintptr_t* y, uintptr_t* y1, uintptr_t* y2, const(char)* pen, const(char)* opt, int, int);
1597 
1598 	void mgl_fsurf (HMGL graph, const(char)* fz, const(char)* stl, const(char)* opt);
1599     ///
1600 	void	 mgl_fsurf_ (uintptr_t* graph, const(char)* fz, const(char)* stl, const(char)* opt, int, int, int);
1601     ///
1602 	void	 mgl_fsurf_xyz (HMGL graph, const(char)* fx, const(char)* fy, const(char)* fz, const(char)* stl, const(char)* opt);
1603     ///
1604 	void	 mgl_fsurf_xyz_ (uintptr_t* graph, const(char)* fx, const(char)* fy, const(char)* fz, const(char)* stl, const(char)* opt, int, int, int, int, int);
1605     ///
1606 	void	 mgl_grid_xy (HMGL graph, HCDT x, HCDT y, HCDT z, const(char)* stl, const(char)* opt);
1607     ///
1608 	void	 mgl_grid_xy_ (uintptr_t* graph, uintptr_t* x, uintptr_t* y, uintptr_t* z, const(char)* stl, const(char)* opt, int, int);
1609     ///
1610 	void	 mgl_grid (HMGL graph, HCDT a, const(char)* stl, const(char)* opt);
1611     ///
1612 	void	 mgl_grid_ (uintptr_t* graph, uintptr_t* a, const(char)* stl, const(char)* opt, int, int);
1613     ///
1614 	void	 mgl_mesh_xy (HMGL graph, HCDT x, HCDT y, HCDT z, const(char)* sch, const(char)* opt);
1615     ///
1616 	void	 mgl_mesh_xy_ (uintptr_t* graph, uintptr_t* x, uintptr_t* y, uintptr_t* z, const(char)* sch, const(char)* opt, int, int);
1617     ///
1618 	void	 mgl_mesh (HMGL graph, HCDT z, const(char)* sch, const(char)* opt);
1619     ///
1620 	void	 mgl_mesh_ (uintptr_t* graph, uintptr_t* z, const(char)* sch, const(char)* opt, int, int);
1621     ///
1622 	void	 mgl_fall_xy (HMGL graph, HCDT x, HCDT y, HCDT z, const(char)* sch, const(char)* opt);
1623     ///
1624 	void	 mgl_fall_xy_ (uintptr_t* graph, uintptr_t* x, uintptr_t* y, uintptr_t* z, const(char)* sch, const(char)* opt, int, int);
1625     ///
1626 	void	 mgl_fall (HMGL graph, HCDT z, const(char)* sch, const(char)* opt);
1627     ///
1628 	void	 mgl_fall_ (uintptr_t* graph, uintptr_t* z, const(char)* sch, const(char)* opt, int, int);
1629     ///
1630 	void	 mgl_belt_xy (HMGL graph, HCDT x, HCDT y, HCDT z, const(char)* sch, const(char)* opt);
1631     ///
1632 	void	 mgl_belt_xy_ (uintptr_t* graph, uintptr_t* x, uintptr_t* y, uintptr_t* z, const(char)* sch, const(char)* opt, int, int);
1633     ///
1634 	void	 mgl_belt (HMGL graph, HCDT z, const(char)* sch, const(char)* opt);
1635     ///
1636 	void	 mgl_belt_ (uintptr_t* graph, uintptr_t* z, const(char)* sch, const(char)* opt, int, int);
1637     ///
1638 	void	 mgl_surf_xy (HMGL graph, HCDT x, HCDT y, HCDT z, const(char)* sch, const(char)* opt);
1639     ///
1640 	void	 mgl_surf_xy_ (uintptr_t* graph, uintptr_t* x, uintptr_t* y, uintptr_t* z, const(char)* sch, const(char)* opt, int, int);
1641     ///
1642 	void	 mgl_surf (HMGL graph, HCDT z, const(char)* sch, const(char)* opt);
1643     ///
1644 	void	 mgl_surf_ (uintptr_t* graph, uintptr_t* z, const(char)* sch, const(char)* opt, int, int);
1645     ///
1646 	void	 mgl_dens_xy (HMGL graph, HCDT x, HCDT y, HCDT z, const(char)* sch, const(char)* opt);
1647     ///
1648 	void	 mgl_dens_xy_ (uintptr_t* graph, uintptr_t* x, uintptr_t* y, uintptr_t* z, const(char)* sch, const(char)* opt, int, int);
1649     ///
1650 	void	 mgl_dens (HMGL graph, HCDT z, const(char)* sch, const(char)* opt);
1651     ///
1652 	void	 mgl_dens_ (uintptr_t* graph, uintptr_t* z, const(char)* sch, const(char)* opt, int, int);
1653     ///
1654 	void	 mgl_boxs_xy (HMGL graph, HCDT x, HCDT y, HCDT z, const(char)* sch, const(char)* opt);
1655     ///
1656 	void	 mgl_boxs_xy_ (uintptr_t* graph, uintptr_t* x, uintptr_t* y, uintptr_t* z, const(char)* sch, const(char)* opt, int, int);
1657     ///
1658 	void	 mgl_boxs (HMGL graph, HCDT z, const(char)* sch, const(char)* opt);
1659     ///
1660 	void	 mgl_boxs_ (uintptr_t* graph, uintptr_t* z, const(char)* sch, const(char)* opt, int, int);
1661     ///
1662 	void	 mgl_tile_xy (HMGL graph, HCDT x, HCDT y, HCDT z, const(char)* sch, const(char)* opt);
1663     ///
1664 	void	 mgl_tile_xy_ (uintptr_t* gr, uintptr_t* x, uintptr_t* y, uintptr_t* a, const(char)* sch, const(char)* opt, int, int);
1665     ///
1666 	void	 mgl_tile (HMGL graph, HCDT z, const(char)* sch, const(char)* opt);
1667     ///
1668 	void	 mgl_tile_ (uintptr_t* graph, uintptr_t* z, const(char)* sch, const(char)* opt, int, int);
1669     ///
1670 	void	 mgl_tiles_xy (HMGL graph, HCDT x, HCDT y, HCDT z, HCDT r, const(char)* sch, const(char)* opt);
1671     ///
1672 	void	 mgl_tiles_xy_ (uintptr_t* graph, uintptr_t* x, uintptr_t* y, uintptr_t* z, uintptr_t* c, const(char)* sch, const(char)* opt, int, int);
1673     ///
1674 	void	 mgl_tiles (HMGL graph, HCDT z, HCDT r, const(char)* sch, const(char)* opt);
1675     ///
1676 	void	 mgl_tiles_ (uintptr_t* graph, uintptr_t* z, uintptr_t* r, const(char)* sch, const(char)* opt, int, int);
1677     ///
1678 	void	 mgl_surfc_xy (HMGL graph, HCDT x, HCDT y, HCDT z, HCDT c, const(char)* sch, const(char)* opt);
1679     ///
1680 	void	 mgl_surfc_xy_ (uintptr_t* graph, uintptr_t* x, uintptr_t* y, uintptr_t* z, uintptr_t* c, const(char)* sch, const(char)* opt, int, int);
1681     ///
1682 	void	 mgl_surfc (HMGL graph, HCDT z, HCDT c, const(char)* sch, const(char)* opt);
1683     ///
1684 	void	 mgl_surfc_ (uintptr_t* graph, uintptr_t* z, uintptr_t* c, const(char)* sch, const(char)* opt, int, int);
1685     ///
1686 	void	 mgl_surfa_xy (HMGL graph, HCDT x, HCDT y, HCDT z, HCDT c, const(char)* sch, const(char)* opt);
1687     ///
1688 	void	 mgl_surfa_xy_ (uintptr_t* graph, uintptr_t* x, uintptr_t* y, uintptr_t* z, uintptr_t* c, const(char)* sch, const(char)* opt, int, int);
1689     ///
1690 	void	 mgl_surfa (HMGL graph, HCDT z, HCDT c, const(char)* sch, const(char)* opt);
1691     ///
1692 	void	 mgl_surfa_ (uintptr_t* graph, uintptr_t* z, uintptr_t* c, const(char)* sch, const(char)* opt, int, int);
1693     ///
1694 	void	 mgl_stfa_xy (HMGL graph, HCDT x, HCDT y, HCDT re, HCDT im, int dn, const(char)* sch, const(char)* opt);
1695     ///
1696 	void	 mgl_stfa_xy_ (uintptr_t* graph, uintptr_t* x, uintptr_t* y, uintptr_t* re, uintptr_t* im, int* dn, const(char)* sch, const(char)* opt, int, int);
1697     ///
1698 	void	 mgl_stfa (HMGL graph, HCDT re, HCDT im, int dn, const(char)* sch, const(char)* opt);
1699     ///
1700 	void	 mgl_stfa_ (uintptr_t* graph, uintptr_t* re, uintptr_t* im, int* dn, const(char)* sch, const(char)* opt, int, int);
1701     ///
1702 	void	 mgl_map_xy (HMGL graph, HCDT x, HCDT y, HCDT a, HCDT b, const(char)* sch, const(char)* opt);
1703     ///
1704 	void	 mgl_map_xy_ (uintptr_t* graph, uintptr_t* x, uintptr_t* y, uintptr_t* a, uintptr_t* b, const(char)* sch, const(char)* opt, int, int);
1705     ///
1706 	void	 mgl_map (HMGL graph, HCDT a, HCDT b, const(char)* sch, const(char)* opt);
1707     ///
1708 	void	 mgl_map_ (uintptr_t* graph, uintptr_t* a, uintptr_t* b, const(char)* sch, const(char)* opt, int, int);
1709 
1710 	void mgl_surf3_xyz_val (HMGL graph, double Val, HCDT x, HCDT y, HCDT z, HCDT a, const(char)* stl, const(char)* opt);
1711     ///
1712 	void	 mgl_surf3_xyz_val_ (uintptr_t* graph, mreal* Val, uintptr_t* x, uintptr_t* y, uintptr_t* z, uintptr_t* a, const(char)* stl, const(char)* opt, int, int);
1713     ///
1714 	void	 mgl_surf3_val (HMGL graph, double Val, HCDT a, const(char)* stl, const(char)* opt);
1715     ///
1716 	void	 mgl_surf3_val_ (uintptr_t* graph, mreal* Val, uintptr_t* a, const(char)* stl, const(char)* opt, int, int);
1717     ///
1718 	void	 mgl_surf3_xyz (HMGL graph, HCDT x, HCDT y, HCDT z, HCDT a, const(char)* stl, const(char)* opt);
1719     ///
1720 	void	 mgl_surf3_xyz_ (uintptr_t* graph, uintptr_t* x, uintptr_t* y, uintptr_t* z, uintptr_t* a, const(char)* stl, const(char)* opt, int, int);
1721     ///
1722 	void	 mgl_surf3 (HMGL graph, HCDT a, const(char)* stl, const(char)* opt);
1723     ///
1724 	void	 mgl_surf3_ (uintptr_t* graph, uintptr_t* a, const(char)* stl, const(char)* opt, int, int);
1725     ///
1726 	void	 mgl_surf3a_xyz_val (HMGL graph, double Val, HCDT x, HCDT y, HCDT z, HCDT a, HCDT b, const(char)* stl, const(char)* opt);
1727     ///
1728 	void	 mgl_surf3a_xyz_val_ (uintptr_t* graph, mreal* Val, uintptr_t* x, uintptr_t* y, uintptr_t* z, uintptr_t* a, uintptr_t* b, const(char)* stl, const(char)* opt, int, int);
1729     ///
1730 	void	 mgl_surf3a_val (HMGL graph, double Val, HCDT a, HCDT b, const(char)* stl, const(char)* opt);
1731     ///
1732 	void	 mgl_surf3a_val_ (uintptr_t* graph, mreal* Val, uintptr_t* a, uintptr_t* b, const(char)* stl, const(char)* opt, int, int);
1733     ///
1734 	void	 mgl_surf3a_xyz (HMGL graph, HCDT x, HCDT y, HCDT z, HCDT a, HCDT b, const(char)* stl, const(char)* opt);
1735     ///
1736 	void	 mgl_surf3a_xyz_ (uintptr_t* graph, uintptr_t* x, uintptr_t* y, uintptr_t* z, uintptr_t* a, uintptr_t* b, const(char)* stl, const(char)* opt, int, int);
1737     ///
1738 	void	 mgl_surf3a (HMGL graph, HCDT a, HCDT b, const(char)* stl, const(char)* opt);
1739     ///
1740 	void	 mgl_surf3a_ (uintptr_t* graph, uintptr_t* a, uintptr_t* b, const(char)* stl, const(char)* opt, int, int);
1741     ///
1742 	void	 mgl_surf3c_xyz_val (HMGL graph, double Val, HCDT x, HCDT y, HCDT z, HCDT a, HCDT b, const(char)* stl, const(char)* opt);
1743     ///
1744 	void	 mgl_surf3c_xyz_val_ (uintptr_t* graph, mreal* Val, uintptr_t* x, uintptr_t* y, uintptr_t* z, uintptr_t* a, uintptr_t* b, const(char)* stl, const(char)* opt, int, int);
1745     ///
1746 	void	 mgl_surf3c_val (HMGL graph, double Val, HCDT a, HCDT b, const(char)* stl, const(char)* opt);
1747     ///
1748 	void	 mgl_surf3c_val_ (uintptr_t* graph, mreal* Val, uintptr_t* a, uintptr_t* b, const(char)* stl, const(char)* opt, int, int);
1749     ///
1750 	void	 mgl_surf3c_xyz (HMGL graph, HCDT x, HCDT y, HCDT z, HCDT a, HCDT b, const(char)* stl, const(char)* opt);
1751     ///
1752 	void	 mgl_surf3c_xyz_ (uintptr_t* graph, uintptr_t* x, uintptr_t* y, uintptr_t* z, uintptr_t* a, uintptr_t* b, const(char)* stl, const(char)* opt, int, int);
1753     ///
1754 	void	 mgl_surf3c (HMGL graph, HCDT a, HCDT b, const(char)* stl, const(char)* opt);
1755     ///
1756 	void	 mgl_surf3c_ (uintptr_t* graph, uintptr_t* a, uintptr_t* b, const(char)* stl, const(char)* opt, int, int);
1757     ///
1758 	void	 mgl_cloud_xyz (HMGL graph, HCDT x, HCDT y, HCDT z, HCDT a, const(char)* stl, const(char)* opt);
1759     ///
1760 	void	 mgl_cloud_xyz_ (uintptr_t* graph, uintptr_t* x, uintptr_t* y, uintptr_t* z, uintptr_t* a, const(char)* stl, const(char)* opt, int, int);
1761     ///
1762 	void	 mgl_cloud (HMGL graph, HCDT a, const(char)* stl, const(char)* opt);
1763     ///
1764 	void	 mgl_cloud_ (uintptr_t* graph, uintptr_t* a, const(char)* stl, const(char)* opt, int, int);
1765     ///
1766 	void	 mgl_beam_val (HMGL graph, double Val, HCDT tr, HCDT g1, HCDT g2, HCDT a, double r, const(char)* stl, int norm);
1767     ///
1768 	void	 mgl_beam_val_ (uintptr_t* gr, mreal* val, uintptr_t* tr, uintptr_t* g1, uintptr_t* g2, uintptr_t* a, mreal* r, const(char)* sch, int* norm, int l);
1769     ///
1770 	void	 mgl_beam (HMGL graph, HCDT tr, HCDT g1, HCDT g2, HCDT a, double r, const(char)* stl, int norm, int num);
1771     ///
1772 	void	 mgl_beam_ (uintptr_t* gr, uintptr_t* tr, uintptr_t* g1, uintptr_t* g2, uintptr_t* a, mreal* r, const(char)* sch, int* norm, int* num, int l);
1773 
1774 	void mgl_traj_xy (HMGL gr, HCDT x, HCDT y, HCDT ax, HCDT ay, const(char)* sch, const(char)* opt);
1775     ///
1776 	void	 mgl_traj_xy_ (uintptr_t* gr, uintptr_t* x, uintptr_t* y, uintptr_t* ax, uintptr_t* ay, const(char)* sch, const(char)* opt, int, int);
1777     ///
1778 	void	 mgl_traj_xyz (HMGL gr, HCDT x, HCDT y, HCDT z, HCDT ax, HCDT ay, HCDT az, const(char)* sch, const(char)* opt);
1779     ///
1780 	void	 mgl_traj_xyz_ (uintptr_t* gr, uintptr_t* x, uintptr_t* y, uintptr_t* z, uintptr_t* ax, uintptr_t* ay, uintptr_t* az, const(char)* sch, const(char)* opt, int, int);
1781     ///
1782 	void	 mgl_vect_xy (HMGL gr, HCDT x, HCDT y, HCDT ax, HCDT ay, const(char)* sch, const(char)* opt);
1783     ///
1784 	void	 mgl_vect_xy_ (uintptr_t* gr, uintptr_t* x, uintptr_t* y, uintptr_t* ax, uintptr_t* ay, const(char)* sch, const(char)* opt, int, int);
1785     ///
1786 	void	 mgl_vect_2d (HMGL gr, HCDT ax, HCDT ay, const(char)* sch, const(char)* opt);
1787     ///
1788 	void	 mgl_vect_2d_ (uintptr_t* gr, uintptr_t* ax, uintptr_t* ay, const(char)* sch, const(char)* opt, int, int);
1789     ///
1790 	void	 mgl_vect_xyz (HMGL gr, HCDT x, HCDT y, HCDT z, HCDT ax, HCDT ay, HCDT az, const(char)* sch, const(char)* opt);
1791     ///
1792 	void	 mgl_vect_xyz_ (uintptr_t* gr, uintptr_t* x, uintptr_t* y, uintptr_t* z, uintptr_t* ax, uintptr_t* ay, uintptr_t* az, const(char)* sch, const(char)* opt, int, int);
1793     ///
1794 	void	 mgl_vect_3d (HMGL gr, HCDT ax, HCDT ay, HCDT az, const(char)* sch, const(char)* opt);
1795     ///
1796 	void	 mgl_vect_3d_ (uintptr_t* gr, uintptr_t* ax, uintptr_t* ay, uintptr_t* az, const(char)* sch, const(char)* opt, int, int);
1797     ///
1798 	void	 mgl_flow_xy (HMGL gr, HCDT x, HCDT y, HCDT ax, HCDT ay, const(char)* sch, const(char)* opt);
1799     ///
1800 	void	 mgl_flow_xy_ (uintptr_t* gr, uintptr_t* x, uintptr_t* y, uintptr_t* ax, uintptr_t* ay, const(char)* sch, const(char)* opt, int, int);
1801     ///
1802 	void	 mgl_flow_2d (HMGL gr, HCDT ax, HCDT ay, const(char)* sch, const(char)* opt);
1803     ///
1804 	void	 mgl_flow_2d_ (uintptr_t* gr, uintptr_t* ax, uintptr_t* ay, const(char)* sch, const(char)* opt, int, int);
1805     ///
1806 	void	 mgl_flow_xyz (HMGL gr, HCDT x, HCDT y, HCDT z, HCDT ax, HCDT ay, HCDT az, const(char)* sch, const(char)* opt);
1807     ///
1808 	void	 mgl_flow_xyz_ (uintptr_t* gr, uintptr_t* x, uintptr_t* y, uintptr_t* z, uintptr_t* ax, uintptr_t* ay, uintptr_t* az, const(char)* sch, const(char)* opt, int, int);
1809     ///
1810 	void	 mgl_flow_3d (HMGL gr, HCDT ax, HCDT ay, HCDT az, const(char)* sch, const(char)* opt);
1811     ///
1812 	void	 mgl_flow_3d_ (uintptr_t* gr, uintptr_t* ax, uintptr_t* ay, uintptr_t* az, const(char)* sch, const(char)* opt, int, int);
1813     ///
1814 	void	 mgl_flowp_xy (HMGL gr, double x0, double y0, double z0, HCDT x, HCDT y, HCDT ax, HCDT ay, const(char)* sch, const(char)* opt);
1815     ///
1816 	void	 mgl_flowp_xy_ (uintptr_t* gr, mreal* x0, mreal* y0, mreal* z0, uintptr_t* x, uintptr_t* y, uintptr_t* ax, uintptr_t* ay, const(char)* sch, const(char)* opt, int, int);
1817     ///
1818 	void	 mgl_flowp_2d (HMGL gr, double x0, double y0, double z0, HCDT ax, HCDT ay, const(char)* sch, const(char)* opt);
1819     ///
1820 	void	 mgl_flowp_2d_ (uintptr_t* gr, mreal* x0, mreal* y0, mreal* z0, uintptr_t* ax, uintptr_t* ay, const(char)* sch, const(char)* opt, int, int);
1821     ///
1822 	void	 mgl_flowp_xyz (HMGL gr, double x0, double y0, double z0, HCDT x, HCDT y, HCDT z, HCDT ax, HCDT ay, HCDT az, const(char)* sch, const(char)* opt);
1823     ///
1824 	void	 mgl_flowp_xyz_ (uintptr_t* gr, mreal* x0, mreal* y0, mreal* z0, uintptr_t* x, uintptr_t* y, uintptr_t* z, uintptr_t* ax, uintptr_t* ay, uintptr_t* az, const(char)* sch, const(char)* opt, int, int);
1825     ///
1826 	void	 mgl_flowp_3d (HMGL gr, double x0, double y0, double z0, HCDT ax, HCDT ay, HCDT az, const(char)* sch, const(char)* opt);
1827     ///
1828 	void	 mgl_flowp_3d_ (uintptr_t* gr, mreal* x0, mreal* y0, mreal* z0, uintptr_t* ax, uintptr_t* ay, uintptr_t* az, const(char)* sch, const(char)* opt, int, int);
1829     ///
1830 	void	 mgl_pipe_xy (HMGL gr, HCDT x, HCDT y, HCDT ax, HCDT ay, const(char)* sch, double r0, const(char)* opt);
1831     ///
1832 	void	 mgl_pipe_xy_ (uintptr_t* gr, uintptr_t* x, uintptr_t* y, uintptr_t* ax, uintptr_t* ay, const(char)* sch, mreal* r0, const(char)* opt, int, int);
1833     ///
1834 	void	 mgl_pipe_2d (HMGL gr, HCDT ax, HCDT ay, const(char)* sch, double r0, const(char)* opt);
1835     ///
1836 	void	 mgl_pipe_2d_ (uintptr_t* gr, uintptr_t* ax, uintptr_t* ay, const(char)* sch, mreal* r0, const(char)* opt, int, int);
1837     ///
1838 	void	 mgl_pipe_xyz (HMGL gr, HCDT x, HCDT y, HCDT z, HCDT ax, HCDT ay, HCDT az, const(char)* sch, double r0, const(char)* opt);
1839     ///
1840 	void	 mgl_pipe_xyz_ (uintptr_t* gr, uintptr_t* x, uintptr_t* y, uintptr_t* z, uintptr_t* ax, uintptr_t* ay, uintptr_t* az, const(char)* sch, mreal* r0, const(char)* opt, int, int);
1841     ///
1842 	void	 mgl_pipe_3d (HMGL gr, HCDT ax, HCDT ay, HCDT az, const(char)* sch, double r0, const(char)* opt);
1843     ///
1844 	void	 mgl_pipe_3d_ (uintptr_t* gr, uintptr_t* ax, uintptr_t* ay, uintptr_t* az, const(char)* sch, mreal* r0, const(char)* opt, int, int);
1845     ///
1846 	void	 mgl_grad_xyz (HMGL gr, HCDT x, HCDT y, HCDT z, HCDT ph, const(char)* sch, const(char)* opt);
1847     ///
1848 	void	 mgl_grad_xyz_ (uintptr_t* gr, uintptr_t* x, uintptr_t* y, uintptr_t* z, uintptr_t* ph, const(char)* sch, const(char)* opt, int, int);
1849     ///
1850 	void	 mgl_grad_xy (HMGL gr, HCDT x, HCDT y, HCDT ph, const(char)* sch, const(char)* opt);
1851     ///
1852 	void	 mgl_grad_xy_ (uintptr_t* gr, uintptr_t* x, uintptr_t* y, uintptr_t* ph, const(char)* sch, const(char)* opt, int, int);
1853     ///
1854 	void	 mgl_grad (HMGL gr, HCDT ph, const(char)* sch, const(char)* opt);
1855     ///
1856 	void	 mgl_grad_ (uintptr_t* gr, uintptr_t* ph, const(char)* sch, const(char)* opt, int, int);
1857     ///
1858 	void	 mgl_vect3_xyz (HMGL gr, HCDT x, HCDT y, HCDT z, HCDT ax, HCDT ay, HCDT az, const(char)* sch, double sVal, const(char)* opt);
1859     ///
1860 	void	 mgl_vect3_xyz_ (uintptr_t* gr, uintptr_t* x, uintptr_t* y, uintptr_t* z, uintptr_t* ax, uintptr_t* ay, uintptr_t* az, const(char)* sch, mreal* sVal, const(char)* opt, int, int);
1861     ///
1862 	void	 mgl_vect3 (HMGL gr, HCDT ax, HCDT ay, HCDT az, const(char)* sch, double sVal, const(char)* opt);
1863     ///
1864 	void	 mgl_vect3_ (uintptr_t* gr, uintptr_t* ax, uintptr_t* ay, uintptr_t* az, const(char)* sch, mreal* sVal, const(char)* opt, int, int);
1865 
1866 	void mgl_mark (HMGL gr, double x, double y, double z, const(char)* mark);
1867     ///
1868 	void	 mgl_mark_ (uintptr_t* gr, mreal* x, mreal* y, mreal* z, const(char)* mark, int);
1869     ///
1870 	void	 mgl_ball (HMGL gr, double x, double y, double z);
1871     ///
1872 	void	 mgl_ball_ (uintptr_t* gr, mreal* x, mreal* y, mreal* z);
1873     ///
1874 	void	 mgl_line (HMGL gr, double x1, double y1, double z1, double x2, double y2, double z2, const(char)* pen, int n);
1875     ///
1876 	void	 mgl_line_ (uintptr_t* gr, mreal* x1, mreal* y1, mreal* z1, mreal* x2, mreal* y2, mreal* z2, const(char)* pen, int* n, int);
1877     ///
1878 	void	 mgl_curve (HMGL gr, double x1, double y1, double z1, double dx1, double dy1, double dz1, double x2, double y2, double z2, double dx2, double dy2, double dz2, const(char)* pen, int n);
1879     ///
1880 	void	 mgl_curve_ (uintptr_t* gr, mreal* x1, mreal* y1, mreal* z1, mreal* dx1, mreal* dy1, mreal* dz1, mreal* x2, mreal* y2, mreal* z2, mreal* dx2, mreal* dy2, mreal* dz2, const(char)* pen, int* n, int l);
1881     ///
1882 	void	 mgl_error_box (HMGL gr, double x, double y, double z, double ex, double ey, double ez, const(char)* pen);
1883     ///
1884 	void	 mgl_error_box_ (uintptr_t* gr, mreal* x, mreal* y, mreal* z, mreal* ex, mreal* ey, mreal* ez, const(char)* pen, int);
1885     ///
1886 	void	 mgl_face (HMGL gr, double x0, double y0, double z0, double x1, double y1, double z1, double x2, double y2, double z2, double x3, double y3, double z3, const(char)* stl);
1887     ///
1888 	void	 mgl_face_ (uintptr_t* gr, mreal* x0, mreal* y0, mreal* z0, mreal* x1, mreal* y1, mreal* z1, mreal* x2, mreal* y2, mreal* z2, mreal* x3, mreal* y3, mreal* z3, const(char)* stl, int);
1889     ///
1890 	void	 mgl_facex (HMGL gr, double x0, double y0, double z0, double wy, double wz, const(char)* stl, double dx, double dy);
1891     ///
1892 	void	 mgl_facex_ (uintptr_t* gr, mreal* x0, mreal* y0, mreal* z0, mreal* wy, mreal* wz, const(char)* stl, mreal* dx, mreal* dy, int l);
1893     ///
1894 	void	 mgl_facey (HMGL gr, double x0, double y0, double z0, double wx, double wz, const(char)* stl, double dx, double dy);
1895     ///
1896 	void	 mgl_facey_ (uintptr_t* gr, mreal* x0, mreal* y0, mreal* z0, mreal* wx, mreal* wz, const(char)* stl, mreal* dx, mreal* dy, int l);
1897     ///
1898 	void	 mgl_facez (HMGL gr, double x0, double y0, double z0, double wx, double wy, const(char)* stl, double dx, double dy);
1899     ///
1900 	void	 mgl_facez_ (uintptr_t* gr, mreal* x0, mreal* y0, mreal* z0, mreal* wx, mreal* wy, const(char)* stl, mreal* dx, mreal* dy, int l);
1901     ///
1902 	void	 mgl_sphere (HMGL gr, double x, double y, double z, double r, const(char)* stl);
1903     ///
1904 	void	 mgl_sphere_ (uintptr_t* gr, mreal* x, mreal* y, mreal* z, mreal* r, const(char)* stl, int);
1905     ///
1906 	void	 mgl_drop (HMGL gr, double x, double y, double z, double dx, double dy, double dz, double r, const(char)* stl, double shift, double ap);
1907     ///
1908 	void	 mgl_drop_ (uintptr_t* gr, mreal* x1, mreal* y1, mreal* z1, mreal* x2, mreal* y2, mreal* z2, mreal* r, const(char)* stl, mreal* shift, mreal* ap, int);
1909     ///
1910 	void	 mgl_cone (HMGL gr, double x1, double y1, double z1, double x2, double y2, double z2, double r1, double r2, const(char)* stl);
1911     ///
1912 	void	 mgl_cone_ (uintptr_t* gr, mreal* x1, mreal* y1, mreal* z1, mreal* x2, mreal* y2, mreal* z2, mreal* r1, mreal* r2, const(char)* stl, int);
1913     ///
1914 	void	 mgl_ellipse (HMGL gr, double x1, double y1, double z1, double x2, double y2, double z2, double r, const(char)* stl);
1915     ///
1916 	void	 mgl_ellipse_ (uintptr_t* gr, mreal* x1, mreal* y1, mreal* z1, mreal* x2, mreal* y2, mreal* z2, mreal* r, const(char)* stl, int);
1917     ///
1918 	void	 mgl_rhomb (HMGL gr, double x1, double y1, double z1, double x2, double y2, double z2, double r, const(char)* stl);
1919     ///
1920 	void	 mgl_rhomb_ (uintptr_t* gr, mreal* x1, mreal* y1, mreal* z1, mreal* x2, mreal* y2, mreal* z2, mreal* r, const(char)* stl, int);
1921     ///
1922 	void	 mgl_polygon (HMGL gr, double x1, double y1, double z1, double x2, double y2, double z2, int n, const(char)* stl);
1923     ///
1924 	void	 mgl_polygon_ (uintptr_t* gr, mreal* x1, mreal* y1, mreal* z1, mreal* x2, mreal* y2, mreal* z2, int* n, const(char)* stl, int);
1925     ///
1926 	void	 mgl_arc_ext (HMGL gr, double x0, double y0, double z0, double xr, double yr, double zr, double x1, double y1, double z1, double a, const(char)* stl);
1927     ///
1928 	void	 mgl_arc_ext_ (uintptr_t* gr, mreal* x0, mreal* y0, mreal* z0, mreal* xr, mreal* yr, mreal* zr, mreal* x1, mreal* y1, mreal* z1, mreal* a, const(char)* stl, int);
1929     ///
1930 	void	 mgl_arc (HMGL gr, double x0, double y0, double x1, double y1, double a, const(char)* stl);
1931     ///
1932 	void	 mgl_arc_ (uintptr_t* gr, mreal* x0, mreal* y0, mreal* x1, mreal* y1, mreal* a, const(char)* stl, int l);
1933     ///
1934 	void	 mgl_cones_xyz (HMGL graph, HCDT x, HCDT y, HCDT z, const(char)* pen, const(char)* opt);
1935     ///
1936 	void	 mgl_cones_xyz_ (uintptr_t* graph, uintptr_t* x, uintptr_t* y, uintptr_t* z, const(char)* pen, const(char)* opt, int, int);
1937     ///
1938 	void	 mgl_cones_xz (HMGL graph, HCDT x, HCDT z, const(char)* pen, const(char)* opt);
1939     ///
1940 	void	 mgl_cones_xz_ (uintptr_t* graph, uintptr_t* x, uintptr_t* z, const(char)* pen, const(char)* opt, int, int);
1941     ///
1942 	void	 mgl_cones (HMGL graph, HCDT z, const(char)* pen, const(char)* opt);
1943     ///
1944 	void	 mgl_cones_ (uintptr_t* graph, uintptr_t* z, const(char)* pen, const(char)* opt, int, int);
1945     ///
1946 	void	 mgl_dew_xy (HMGL gr, HCDT x, HCDT y, HCDT ax, HCDT ay, const(char)* sch, const(char)* opt);
1947     ///
1948 	void	 mgl_dew_xy_ (uintptr_t* gr, uintptr_t* x, uintptr_t* y, uintptr_t* ax, uintptr_t* ay, const(char)* sch, const(char)* opt, int, int);
1949     ///
1950 	void	 mgl_dew_2d (HMGL gr, HCDT ax, HCDT ay, const(char)* sch, const(char)* optl);
1951     ///
1952 	void	 mgl_dew_2d_ (uintptr_t* gr, uintptr_t* ax, uintptr_t* ay, const(char)* sch, const(char)* opt, int, int l);
1953     ///
1954 	void	 mgl_puts (HMGL graph, double x, double y, double z, const(char)* text, const(char)* font, double size);
1955     ///
1956 	void	 mgl_puts_ (uintptr_t* graph, mreal* x, mreal* y, mreal* z, const(char)* text, const(char)* font, mreal* size, int, int);
1957     ///
1958 	void	 mgl_putsw (HMGL graph, double x, double y, double z, const(dchar)* text, const(char)* font, double size);
1959     ///
1960 	void	 mgl_puts_dir (HMGL graph, double x, double y, double z, double dx, double dy, double dz, const(char)* text, const(char)* font, double size);
1961     ///
1962 	void	 mgl_puts_dir_ (uintptr_t* graph, mreal* x, mreal* y, mreal* z, mreal* dx, mreal* dy, mreal* dz, const(char)* text, const(char)* font, mreal* size, int, int);
1963     ///
1964 	void	 mgl_putsw_dir (HMGL graph, double x, double y, double z, double dx, double dy, double dz, const(dchar)* text, const(char)* font, double size);
1965     ///
1966 	void	 mgl_textmark_xyzr (HMGL graph, HCDT x, HCDT y, HCDT z, HCDT r, const(char)* text, const(char)* fnt, const(char)* opt);
1967     ///
1968 	void	 mgl_textmark_xyzr_ (uintptr_t* graph, uintptr_t* x, uintptr_t* y, uintptr_t* z, uintptr_t* r, const(char)* text, const(char)* fnt, const(char)* opt, int, int, int);
1969     ///
1970 	void	 mgl_textmarkw_xyzr (HMGL graph, HCDT x, HCDT y, HCDT z, HCDT r, const(dchar)* text, const(char)* fnt, const(char)* opt);
1971     ///
1972 	void	 mgl_textmark_xyr (HMGL graph, HCDT x, HCDT y, HCDT r, const(char)* text, const(char)* fnt, const(char)* opt);
1973     ///
1974 	void	 mgl_textmark_xyr_ (uintptr_t* graph, uintptr_t* x, uintptr_t* y, uintptr_t* r, const(char)* text, const(char)* fnt, const(char)* opt, int, int, int);
1975     ///
1976 	void	 mgl_textmarkw_xyr (HMGL graph, HCDT x, HCDT y, HCDT r, const(dchar)* text, const(char)* fnt, const(char)* opt);
1977     ///
1978 	void	 mgl_textmark_yr (HMGL graph, HCDT y, HCDT r, const(char)* text, const(char)* fnt, const(char)* opt);
1979     ///
1980 	void	 mgl_textmark_yr_ (uintptr_t* graph, uintptr_t* y, uintptr_t* r, const(char)* text, const(char)* fnt, const(char)* opt, int, int, int);
1981     ///
1982 	void	 mgl_textmarkw_yr (HMGL graph, HCDT y, HCDT r, const(dchar)* text, const(char)* fnt, const(char)* opt);
1983     ///
1984 	void	 mgl_textmark (HMGL graph, HCDT y, const(char)* text, const(char)* fnt, const(char)* opt);
1985     ///
1986 	void	 mgl_textmarkw (HMGL graph, HCDT y, const(dchar)* text, const(char)* fnt, const(char)* opt);
1987     ///
1988 	void	 mgl_textmark_ (uintptr_t* graph, uintptr_t* y, const(char)* text, const(char)* fnt, const(char)* opt, int, int, int);
1989     ///
1990 	void	 mgl_label_xyz (HMGL graph, HCDT x, HCDT y, HCDT z, const(char)* text, const(char)* fnt, const(char)* opt);
1991     ///
1992 	void	 mgl_label_xyz_ (uintptr_t* graph, uintptr_t* x, uintptr_t* y, uintptr_t* z, const(char)* text, const(char)* fnt, const(char)* opt, int, int, int);
1993     ///
1994 	void	 mgl_labelw_xyz (HMGL graph, HCDT x, HCDT y, HCDT z, const(dchar)* text, const(char)* fnt, const(char)* opt);
1995     ///
1996 	void	 mgl_label_xy (HMGL graph, HCDT x, HCDT y, const(char)* text, const(char)* fnt, const(char)* opt);
1997     ///
1998 	void	 mgl_label_xy_ (uintptr_t* graph, uintptr_t* x, uintptr_t* y, const(char)* text, const(char)* fnt, const(char)* opt, int, int, int);
1999     ///
2000 	void	 mgl_labelw_xy (HMGL graph, HCDT x, HCDT y, const(dchar)* text, const(char)* fnt, const(char)* opt);
2001     ///
2002 	void	 mgl_label_y (HMGL graph, HCDT y, const(char)* text, const(char)* fnt, const(char)* opt);
2003     ///
2004 	void	 mgl_labelw_y (HMGL graph, HCDT y, const(dchar)* text, const(char)* fnt, const(char)* opt);
2005     ///
2006 	void	 mgl_label_y_ (uintptr_t* graph, uintptr_t* y, const(char)* text, const(char)* fnt, const(char)* opt, int, int, int);
2007     ///
2008 	void	 mgl_table (HMGL gr, double x, double y, HCDT val, const(char)* text, const(char)* fnt, const(char)* opt);
2009     ///
2010 	void	 mgl_table_ (uintptr_t* gr, mreal* x, mreal* y, uintptr_t* val, const(char)* text, const(char)* fnt, const(char)* opt, int, int, int);
2011     ///
2012 	void	 mgl_tablew (HMGL gr, double x, double y, HCDT val, const(dchar)* text, const(char)* fnt, const(char)* opt);
2013     ///
2014 	void	 mgl_logo (HMGL gr, c_long w, c_long h, const(ubyte)* rgba, int smooth, const(char)* opt);
2015     ///
2016 	void	 mgl_logo_file (HMGL gr, const(char)* fname, int smooth, const(char)* opt);
2017     ///
2018 	void	 mgl_logo_file_ (uintptr_t* gr, const(char)* fname, int* smooth, const(char)* opt, int l, int n);
2019 
2020 	void mgl_triplot_xyzc (HMGL gr, HCDT nums, HCDT x, HCDT y, HCDT z, HCDT c, const(char)* sch, const(char)* opt);
2021     ///
2022 	void	 mgl_triplot_xyzc_ (uintptr_t* gr, uintptr_t* nums, uintptr_t* x, uintptr_t* y, uintptr_t* z, uintptr_t* c, const(char)* sch, const(char)* opt, int, int);
2023     ///
2024 	void	 mgl_triplot_xyz (HMGL gr, HCDT nums, HCDT x, HCDT y, HCDT z, const(char)* sch, const(char)* opt);
2025     ///
2026 	void	 mgl_triplot_xyz_ (uintptr_t* gr, uintptr_t* nums, uintptr_t* x, uintptr_t* y, uintptr_t* z, const(char)* sch, const(char)* opt, int, int);
2027     ///
2028 	void	 mgl_triplot_xy (HMGL gr, HCDT nums, HCDT x, HCDT y, const(char)* sch, const(char)* opt);
2029     ///
2030 	void	 mgl_triplot_xy_ (uintptr_t* gr, uintptr_t* nums, uintptr_t* x, uintptr_t* y, const(char)* sch, const(char)* opt, int, int);
2031     ///
2032 	void	 mgl_quadplot_xyzc (HMGL gr, HCDT nums, HCDT x, HCDT y, HCDT z, HCDT c, const(char)* sch, const(char)* opt);
2033     ///
2034 	void	 mgl_quadplot_xyzc_ (uintptr_t* gr, uintptr_t* nums, uintptr_t* x, uintptr_t* y, uintptr_t* z, uintptr_t* c, const(char)* sch, const(char)* opt, int, int);
2035     ///
2036 	void	 mgl_quadplot_xyz (HMGL gr, HCDT nums, HCDT x, HCDT y, HCDT z, const(char)* sch, const(char)* opt);
2037     ///
2038 	void	 mgl_quadplot_xyz_ (uintptr_t* gr, uintptr_t* nums, uintptr_t* x, uintptr_t* y, uintptr_t* z, const(char)* sch, const(char)* opt, int, int);
2039     ///
2040 	void	 mgl_quadplot_xy (HMGL gr, HCDT nums, HCDT x, HCDT y, const(char)* sch, const(char)* opt);
2041     ///
2042 	void	 mgl_quadplot_xy_ (uintptr_t* gr, uintptr_t* nums, uintptr_t* x, uintptr_t* y, const(char)* sch, const(char)* opt, int, int);
2043     ///
2044 	void	 mgl_tricont_xyzcv (HMGL gr, HCDT v, HCDT nums, HCDT x, HCDT y, HCDT z, HCDT c, const(char)* sch, const(char)* opt);
2045     ///
2046 	void	 mgl_tricont_xyzcv_ (uintptr_t* gr, uintptr_t* v, uintptr_t* nums, uintptr_t* x, uintptr_t* y, uintptr_t* z, uintptr_t* c, const(char)* sch, const(char)* opt, int, int);
2047     ///
2048 	void	 mgl_tricont_xycv (HMGL gr, HCDT v, HCDT nums, HCDT x, HCDT y, HCDT z, const(char)* sch, const(char)* opt);
2049     ///
2050 	void	 mgl_tricont_xycv_ (uintptr_t* gr, uintptr_t* v, uintptr_t* nums, uintptr_t* x, uintptr_t* y, uintptr_t* z, const(char)* sch, const(char)* opt, int, int);
2051     ///
2052 	void	 mgl_tricont_xyzc (HMGL gr, HCDT nums, HCDT x, HCDT y, HCDT z, HCDT c, const(char)* sch, const(char)* opt);
2053     ///
2054 	void	 mgl_tricont_xyzc_ (uintptr_t* gr, uintptr_t* nums, uintptr_t* x, uintptr_t* y, uintptr_t* z, uintptr_t* c, const(char)* sch, const(char)* opt, int, int);
2055     ///
2056 	void	 mgl_tricont_xyc (HMGL gr, HCDT nums, HCDT x, HCDT y, HCDT z, const(char)* sch, const(char)* opt);
2057     ///
2058 	void	 mgl_tricont_xyc_ (uintptr_t* gr, uintptr_t* nums, uintptr_t* x, uintptr_t* y, uintptr_t* z, const(char)* sch, const(char)* opt, int, int);
2059     ///
2060 	void	 mgl_tricontv_xyzcv (HMGL gr, HCDT v, HCDT nums, HCDT x, HCDT y, HCDT z, HCDT c, const(char)* sch, const(char)* opt);
2061     ///
2062 	void	 mgl_tricontv_xyzcv_ (uintptr_t* gr, uintptr_t* v, uintptr_t* nums, uintptr_t* x, uintptr_t* y, uintptr_t* z, uintptr_t* c, const(char)* sch, const(char)* opt, int, int);
2063     ///
2064 	void	 mgl_tricontv_xycv (HMGL gr, HCDT v, HCDT nums, HCDT x, HCDT y, HCDT z, const(char)* sch, const(char)* opt);
2065     ///
2066 	void	 mgl_tricontv_xycv_ (uintptr_t* gr, uintptr_t* v, uintptr_t* nums, uintptr_t* x, uintptr_t* y, uintptr_t* z, const(char)* sch, const(char)* opt, int, int);
2067     ///
2068 	void	 mgl_tricontv_xyzc (HMGL gr, HCDT nums, HCDT x, HCDT y, HCDT z, HCDT c, const(char)* sch, const(char)* opt);
2069     ///
2070 	void	 mgl_tricontv_xyzc_ (uintptr_t* gr, uintptr_t* nums, uintptr_t* x, uintptr_t* y, uintptr_t* z, uintptr_t* c, const(char)* sch, const(char)* opt, int, int);
2071     ///
2072 	void	 mgl_tricontv_xyc (HMGL gr, HCDT nums, HCDT x, HCDT y, HCDT z, const(char)* sch, const(char)* opt);
2073     ///
2074 	void	 mgl_tricontv_xyc_ (uintptr_t* gr, uintptr_t* nums, uintptr_t* x, uintptr_t* y, uintptr_t* z, const(char)* sch, const(char)* opt, int, int);
2075     ///
2076 	void	 mgl_dots (HMGL gr, HCDT x, HCDT y, HCDT z, const(char)* sch, const(char)* opt);
2077     ///
2078 	void	 mgl_dots_ (uintptr_t* gr, uintptr_t* x, uintptr_t* y, uintptr_t* z, const(char)* sch, const(char)* opt, int, int);
2079     ///
2080 	void	 mgl_dots_a (HMGL gr, HCDT x, HCDT y, HCDT z, HCDT a, const(char)* sch, const(char)* opt);
2081     ///
2082 	void	 mgl_dots_a_ (uintptr_t* gr, uintptr_t* x, uintptr_t* y, uintptr_t* z, uintptr_t* a, const(char)* sch, const(char)* opt, int, int);
2083     ///
2084 	void	 mgl_dots_ca (HMGL gr, HCDT x, HCDT y, HCDT z, HCDT c, HCDT a, const(char)* sch, const(char)* opt);
2085     ///
2086 	void	 mgl_dots_ca_ (uintptr_t* gr, uintptr_t* x, uintptr_t* y, uintptr_t* z, uintptr_t* c, uintptr_t* a, const(char)* sch, const(char)* opt, int, int);
2087     ///
2088 	void	 mgl_crust (HMGL gr, HCDT x, HCDT y, HCDT z, const(char)* sch, const(char)* opt);
2089     ///
2090 	void	 mgl_crust_ (uintptr_t* gr, uintptr_t* x, uintptr_t* y, uintptr_t* z, const(char)* sch, const(char)* opt, int, int);
2091     ///
2092 	void	 mgl_dens_x (HMGL graph, HCDT a, const(char)* stl, double sVal, const(char)* opt);
2093     ///
2094 	void	 mgl_dens_x_ (uintptr_t* graph, uintptr_t* a, const(char)* stl, mreal* sVal, const(char)* opt, int, int);
2095     ///
2096 	void	 mgl_dens_y (HMGL graph, HCDT a, const(char)* stl, double sVal, const(char)* opt);
2097     ///
2098 	void	 mgl_dens_y_ (uintptr_t* graph, uintptr_t* a, const(char)* stl, mreal* sVal, const(char)* opt, int, int);
2099     ///
2100 	void	 mgl_dens_z (HMGL graph, HCDT a, const(char)* stl, double sVal, const(char)* opt);
2101     ///
2102 	void	 mgl_dens_z_ (uintptr_t* graph, uintptr_t* a, const(char)* stl, mreal* sVal, const(char)* opt, int, int);
2103     ///
2104 	void	 mgl_cont_x (HMGL graph, HCDT a, const(char)* stl, double sVal, const(char)* opt);
2105     ///
2106 	void	 mgl_cont_x_ (uintptr_t* graph, uintptr_t* a, const(char)* stl, mreal* sVal, const(char)* opt, int, int);
2107     ///
2108 	void	 mgl_cont_y (HMGL graph, HCDT a, const(char)* stl, double sVal, const(char)* opt);
2109     ///
2110 	void	 mgl_cont_y_ (uintptr_t* graph, uintptr_t* a, const(char)* stl, mreal* sVal, const(char)* opt, int, int);
2111     ///
2112 	void	 mgl_cont_z (HMGL graph, HCDT a, const(char)* stl, double sVal, const(char)* opt);
2113     ///
2114 	void	 mgl_cont_z_ (uintptr_t* graph, uintptr_t* a, const(char)* stl, mreal* sVal, const(char)* opt, int, int);
2115     ///
2116 	void	 mgl_cont_x_val (HMGL graph, HCDT v, HCDT a, const(char)* stl, double sVal, const(char)* opt);
2117     ///
2118 	void	 mgl_cont_x_val_ (uintptr_t* graph, uintptr_t* v, uintptr_t* a, const(char)* stl, mreal* sVal, const(char)* opt, int, int);
2119     ///
2120 	void	 mgl_cont_y_val (HMGL graph, HCDT v, HCDT a, const(char)* stl, double sVal, const(char)* opt);
2121     ///
2122 	void	 mgl_cont_y_val_ (uintptr_t* graph, uintptr_t* v, uintptr_t* a, const(char)* stl, mreal* sVal, const(char)* opt, int, int);
2123     ///
2124 	void	 mgl_cont_z_val (HMGL graph, HCDT v, HCDT a, const(char)* stl, double sVal, const(char)* opt);
2125     ///
2126 	void	 mgl_cont_z_val_ (uintptr_t* graph, uintptr_t* v, uintptr_t* a, const(char)* stl, mreal* sVal, const(char)* opt, int, int);
2127     ///
2128 	void	 mgl_contf_x (HMGL graph, HCDT a, const(char)* stl, double sVal, const(char)* opt);
2129     ///
2130 	void	 mgl_contf_x_ (uintptr_t* graph, uintptr_t* a, const(char)* stl, mreal* sVal, const(char)* opt, int, int);
2131     ///
2132 	void	 mgl_contf_y (HMGL graph, HCDT a, const(char)* stl, double sVal, const(char)* opt);
2133     ///
2134 	void	 mgl_contf_y_ (uintptr_t* graph, uintptr_t* a, const(char)* stl, mreal* sVal, const(char)* opt, int, int);
2135     ///
2136 	void	 mgl_contf_z (HMGL graph, HCDT a, const(char)* stl, double sVal, const(char)* opt);
2137     ///
2138 	void	 mgl_contf_z_ (uintptr_t* graph, uintptr_t* a, const(char)* stl, mreal* sVal, const(char)* opt, int, int);
2139     ///
2140 	void	 mgl_contf_x_val (HMGL graph, HCDT v, HCDT a, const(char)* stl, double sVal, const(char)* opt);
2141     ///
2142 	void	 mgl_contf_x_val_ (uintptr_t* graph, uintptr_t* v, uintptr_t* a, const(char)* stl, mreal* sVal, const(char)* opt, int, int);
2143     ///
2144 	void	 mgl_contf_y_val (HMGL graph, HCDT v, HCDT a, const(char)* stl, double sVal, const(char)* opt);
2145     ///
2146 	void	 mgl_contf_y_val_ (uintptr_t* graph, uintptr_t* v, uintptr_t* a, const(char)* stl, mreal* sVal, const(char)* opt, int, int);
2147     ///
2148 	void	 mgl_contf_z_val (HMGL graph, HCDT v, HCDT a, const(char)* stl, double sVal, const(char)* opt);
2149     ///
2150 	void	 mgl_contf_z_val_ (uintptr_t* graph, uintptr_t* v, uintptr_t* a, const(char)* stl, mreal* sVal, const(char)* opt, int, int);
2151 
2152 	HMGL mgl_create_graph (int width, int height);
2153 	uintptr_t mgl_create_graph_ (int* width, int* height);
2154     ///
2155 	void	 mgl_delete_graph (HMGL gr);
2156     ///
2157 	void	 mgl_delete_graph_ (uintptr_t* gr);
2158     ///
2159 	void	 mgl_set_size (HMGL gr, int width, int height);
2160     ///
2161 	void	 mgl_set_size_ (uintptr_t* gr, int* width, int* height);
2162     ///
2163 	void	 mgl_set_def_param (HMGL gr);
2164     ///
2165 	void	 mgl_set_def_param_ (uintptr_t* gr);
2166     ///
2167 	void	 mgl_combine_gr (HMGL gr, HMGL gr2);
2168     ///
2169 	void	 mgl_combine_gr_ (uintptr_t* gr, uintptr_t* gr2);
2170     ///
2171 	void	 mgl_finish (HMGL gr);
2172     ///
2173 	void	 mgl_finish_ (uintptr_t* gr);
2174     ///
2175 	void	 mgl_rasterize (HMGL gr);
2176     ///
2177 	void	 mgl_rasterize_ (uintptr_t* gr);
2178     ///
2179 	void	 mgl_set_tick_len (HMGL gr, double len, double stt);
2180     ///
2181 	void	 mgl_set_tick_len_ (uintptr_t* gr, mreal* len, mreal* stt);
2182     ///
2183 	void	 mgl_set_axis_stl (HMGL gr, const(char)* stl, const(char)* tck, const(char)* sub);
2184     ///
2185 	void	 mgl_set_axis_stl_ (uintptr_t* gr, const(char)* stl, const(char)* tck, const(char)* sub, int, int, int);
2186     ///
2187 	void	 mgl_adjust_ticks (HMGL gr, const(char)* dir);
2188     ///
2189 	void	 mgl_adjust_ticks_ (uintptr_t* gr, const(char)* dir, int);
2190     ///
2191 	void	 mgl_adjust_ticks_ext (HMGL gr, const(char)* dir, const(char)* stl);
2192     ///
2193 	void	 mgl_adjust_ticks_ext_ (uintptr_t* gr, const(char)* dir, const(char)* stl, int, int);
2194     ///
2195 	void	 mgl_set_ticks (HMGL gr, char dir, double d, int ns, double org);
2196     ///
2197 	void	 mgl_set_ticks_ (uintptr_t* gr, char* dir, mreal* d, int* ns, mreal* org, int);
2198     ///
2199 	void	 mgl_set_ticks_fact (HMGL gr, char dir, double d, int ns, double org, const(char)* fact);
2200     ///
2201 	void	 mgl_set_ticks_factw (HMGL gr, char dir, double d, int ns, double org, const(dchar)* fact);
2202     ///
2203 	void	 mgl_set_ticks_fact_ (uintptr_t* gr, char* dir, double* d, int* ns, double* org, const(char)* fact, int, int);
2204     ///
2205 	void	 mgl_set_ticks_str (HMGL gr, char dir, const(char)* lbl, int add);
2206     ///
2207 	void	 mgl_set_ticks_str_ (uintptr_t* gr, const(char)* dir, const(char)* lbl, int* add, int, int);
2208     ///
2209 	void	 mgl_set_ticks_wcs (HMGL gr, char dir, const(dchar)* lbl, int add);
2210     ///
2211 	void	 mgl_set_ticks_val (HMGL gr, char dir, HCDT val, const(char)* lbl, int add);
2212     ///
2213 	void	 mgl_set_ticks_val_ (uintptr_t* gr, const(char)* dir, uintptr_t* val, const(char)* lbl, int* add, int, int);
2214     ///
2215 	void	 mgl_set_ticks_valw (HMGL gr, char dir, HCDT val, const(dchar)* lbl, int add);
2216     ///
2217 	void	 mgl_add_tick (HMGL gr, char dir, double val, const(char)* lbl);
2218     ///
2219 	void	 mgl_add_tick_ (uintptr_t* gr, const(char)* dir, mreal* val, const(char)* lbl, int, int);
2220     ///
2221 	void	 mgl_add_tickw (HMGL gr, char dir, double val, const(dchar)* lbl);
2222     ///
2223 	void	 mgl_tune_ticks (HMGL gr, int tune, double fact_pos);
2224     ///
2225 	void	 mgl_tune_ticks_ (uintptr_t* gr, int* tune, mreal* fact_pos);
2226     ///
2227 	void	 mgl_set_tick_templ (HMGL gr, char dir, const(char)* templ);
2228     ///
2229 	void	 mgl_set_tick_templ_ (uintptr_t* gr, const(char)* dir, const(char)* templ, int, int);
2230     ///
2231 	void	 mgl_set_tick_templw (HMGL gr, char dir, const(dchar)* templ);
2232     ///
2233 	void	 mgl_set_ticks_time (HMGL gr, char dir, double d, const(char)* t);
2234     ///
2235 	void	 mgl_set_ticks_time_ (uintptr_t* gr, const(char)* dir, mreal* d, const(char)* t, int, int);
2236     ///
2237 	void	 mgl_set_tick_shift (HMGL gr, double sx, double sy, double sz, double sc);
2238     ///
2239 	void	 mgl_set_tick_shift_ (uintptr_t* gr, mreal* sx, mreal* sy, mreal* sz, mreal* sc);
2240     ///
2241 	void	 mgl_box (HMGL gr);
2242     ///
2243 	void	 mgl_box_ (uintptr_t* gr);
2244     ///
2245 	void	 mgl_box_str (HMGL gr, const(char)* col, int ticks);
2246     ///
2247 	void	 mgl_box_str_ (uintptr_t* gr, const(char)* col, int* ticks, int);
2248     ///
2249 	void	 mgl_axis (HMGL gr, const(char)* dir, const(char)* stl, const(char)* opt);
2250     ///
2251 	void	 mgl_axis_ (uintptr_t* gr, const(char)* dir, const(char)* stl, const(char)* opt, int, int, int);
2252     ///
2253 	void	 mgl_axis_grid (HMGL gr, const(char)* dir, const(char)* pen, const(char)* opt);
2254     ///
2255 	void	 mgl_axis_grid_ (uintptr_t* gr, const(char)* dir, const(char)* pen, const(char)* opt, int, int, int);
2256     ///
2257 	void	 mgl_label (HMGL gr, char dir, const(char)* text, double pos, const(char)* opt);
2258     ///
2259 	void	 mgl_label_ (uintptr_t* gr, const(char)* dir, const(char)* text, mreal* pos, const(char)* opt, int, int, int);
2260     ///
2261 	void	 mgl_labelw (HMGL gr, char dir, const(dchar)* text, double pos, const(char)* opt);
2262     ///
2263 	void	 mgl_colorbar (HMGL gr, const(char)* sch);
2264     ///
2265 	void	 mgl_colorbar_ (uintptr_t* gr, const(char)* sch, int);
2266     ///
2267 	void	 mgl_colorbar_ext (HMGL gr, const(char)* sch, double x, double y, double w, double h);
2268     ///
2269 	void	 mgl_colorbar_ext_ (uintptr_t* gr, const(char)* sch, mreal* x, mreal* y, mreal* w, mreal* h, int);
2270     ///
2271 	void	 mgl_colorbar_val (HMGL gr, HCDT dat, const(char)* sch);
2272     ///
2273 	void	 mgl_colorbar_val_ (uintptr_t* gr, uintptr_t* dat, const(char)* sch, int);
2274     ///
2275 	void	 mgl_colorbar_val_ext (HMGL gr, HCDT dat, const(char)* sch, double x, double y, double w, double h);
2276     ///
2277 	void	 mgl_colorbar_val_ext_ (uintptr_t* gr, uintptr_t* dat, const(char)* sch, mreal* x, mreal* y, mreal* w, mreal* h, int);
2278     ///
2279 	void	 mgl_add_legend (HMGL gr, const(char)* text, const(char)* style);
2280     ///
2281 	void	 mgl_add_legend_ (uintptr_t* gr, const(char)* text, const(char)* style, int, int);
2282     ///
2283 	void	 mgl_add_legendw (HMGL gr, const(dchar)* text, const(char)* style);
2284     ///
2285 	void	 mgl_clear_legend (HMGL gr);
2286     ///
2287 	void	 mgl_clear_legend_ (uintptr_t* gr);
2288     ///
2289 	void	 mgl_legend_pos (HMGL gr, double x, double y, const(char)* font, const(char)* opt);
2290     ///
2291 	void	 mgl_legend_pos_ (uintptr_t* gr, mreal* x, mreal* y, const(char)* font, const(char)* opt, int, int);
2292     ///
2293 	void	 mgl_legend (HMGL gr, int where, const(char)* font, const(char)* opt);
2294     ///
2295 	void	 mgl_legend_ (uintptr_t* gr, int* where, const(char)* font, const(char)* opt, int, int);
2296     ///
2297 	void	 mgl_set_legend_marks (HMGL gr, int num);
2298     ///
2299 	void	 mgl_set_legend_marks_ (uintptr_t* gr, int* num);
2300     ///
2301 	void	 mgl_show_image (HMGL gr, const(char)* viewer, int keep);
2302     ///
2303 	void	 mgl_show_image_ (uintptr_t* gr, const(char)* viewer, int* keep, int);
2304     ///
2305 	void	 mgl_write_frame (HMGL gr, const(char)* fname, const(char)* descr);
2306     ///
2307 	void	 mgl_write_frame_ (uintptr_t* gr, const(char)* fname, const(char)* descr, int, int);
2308     ///
2309 	void	 mgl_write_tga (HMGL gr, const(char)* fname, const(char)* descr);
2310     ///
2311 	void	 mgl_write_tga_ (uintptr_t* gr, const(char)* fname, const(char)* descr, int, int);
2312     ///
2313 	void	 mgl_write_bmp (HMGL gr, const(char)* fname, const(char)* descr);
2314     ///
2315 	void	 mgl_write_bmp_ (uintptr_t* gr, const(char)* fname, const(char)* descr, int, int);
2316     ///
2317 	void	 mgl_write_jpg (HMGL gr, const(char)* fname, const(char)* descr);
2318     ///
2319 	void	 mgl_write_jpg_ (uintptr_t* gr, const(char)* fname, const(char)* descr, int, int);
2320     ///
2321 	void	 mgl_write_png (HMGL gr, const(char)* fname, const(char)* descr);
2322     ///
2323 	void	 mgl_write_png_ (uintptr_t* gr, const(char)* fname, const(char)* descr, int, int);
2324     ///
2325 	void	 mgl_write_png_solid (HMGL gr, const(char)* fname, const(char)* descr);
2326     ///
2327 	void	 mgl_write_png_solid_ (uintptr_t* gr, const(char)* fname, const(char)* descr, int, int);
2328     ///
2329 	void	 mgl_write_bps (HMGL gr, const(char)* fname, const(char)* descr);
2330     ///
2331 	void	 mgl_write_bps_ (uintptr_t* gr, const(char)* fname, const(char)* descr, int, int);
2332     ///
2333 	void	 mgl_write_eps (HMGL gr, const(char)* fname, const(char)* descr);
2334     ///
2335 	void	 mgl_write_eps_ (uintptr_t* gr, const(char)* fname, const(char)* descr, int, int);
2336     ///
2337 	void	 mgl_write_svg (HMGL gr, const(char)* fname, const(char)* descr);
2338     ///
2339 	void	 mgl_write_svg_ (uintptr_t* gr, const(char)* fname, const(char)* descr, int, int);
2340     ///
2341 	void	 mgl_write_tex (HMGL gr, const(char)* fname, const(char)* descr);
2342     ///
2343 	void	 mgl_write_tex_ (uintptr_t* gr, const(char)* fname, const(char)* descr, int, int);
2344     ///
2345 	void	 mgl_write_obj (HMGL gr, const(char)* fname, const(char)* descr, int use_png);
2346     ///
2347 	void	 mgl_write_obj_ (uintptr_t* gr, const(char)* fname, const(char)* descr, int* use_png, int, int);
2348     ///
2349 	void	 mgl_write_obj_old (HMGL gr, const(char)* fname, const(char)* descr, int use_png);
2350     ///
2351 	void	 mgl_write_obj_old_ (uintptr_t* gr, const(char)* fname, const(char)* descr, int* use_png, int, int);
2352     ///
2353 	void	 mgl_write_stl (HMGL gr, const(char)* fname, const(char)* descr);
2354     ///
2355 	void	 mgl_write_stl_ (uintptr_t* gr, const(char)* fname, const(char)* descr, int, int);
2356     ///
2357 	void	 mgl_write_off (HMGL gr, const(char)* fname, const(char)* descr, int colored);
2358     ///
2359 	void	 mgl_write_off_ (uintptr_t* gr, const(char)* fname, const(char)* descr, int* colored, int, int);
2360     ///
2361 	void	 mgl_write_xyz (HMGL gr, const(char)* fname, const(char)* descr);
2362     ///
2363 	void	 mgl_write_xyz_ (uintptr_t* gr, const(char)* fname, const(char)* descr, int, int);
2364     ///
2365 	void	 mgl_write_prc (HMGL gr, const(char)* fname, const(char)* descr, int make_pdf);
2366     ///
2367 	void	 mgl_write_prc_ (uintptr_t* gr, const(char)* fname, const(char)* descr, int* make_pdf, int, int);
2368     ///
2369 	void	 mgl_write_gif (HMGL gr, const(char)* fname, const(char)* descr);
2370     ///
2371 	void	 mgl_write_gif_ (uintptr_t* gr, const(char)* fname, const(char)* descr, int, int);
2372     ///
2373 	void	 mgl_start_gif (HMGL gr, const(char)* fname, int ms);
2374     ///
2375 	void	 mgl_start_gif_ (uintptr_t* gr, const(char)* fname, int* ms, int);
2376     ///
2377 	void	 mgl_close_gif (HMGL gr);
2378     ///
2379 	void	 mgl_close_gif_ (uintptr_t* gr);
2380     ///
2381 	void	 mgl_export_mgld (HMGL gr, const(char)* fname, const(char)* descr);
2382     ///
2383 	void	 mgl_export_mgld_ (uintptr_t* gr, const(char)* fname, const(char)* descr, int, int);
2384     ///
2385 	void	 mgl_import_mgld (HMGL gr, const(char)* fname, int add);
2386     ///
2387 	void	 mgl_import_mgld_ (uintptr_t* gr, const(char)* fname, int* add, int);
2388     ///
2389 	void	 mgl_write_json (HMGL gr, const(char)* fname, const(char)* descr);
2390     ///
2391 	void	 mgl_write_json_ (uintptr_t* gr, const(char)* fname, const(char)* descr, int, int);
2392     ///
2393 	void	 mgl_write_json_z (HMGL gr, const(char)* fname, const(char)* descr);
2394     ///
2395 	void	 mgl_write_json_z_ (uintptr_t* gr, const(char)* fname, const(char)* descr, int, int);
2396 	const(char)* mgl_get_json (HMGL gr);
2397 	const(ubyte)* mgl_get_rgb (HMGL gr);
2398 	const(ubyte)* mgl_get_rgb_ (uintptr_t* gr);
2399 	const(ubyte)* mgl_get_rgba (HMGL gr);
2400 	const(ubyte)* mgl_get_rgba_ (uintptr_t* gr);
2401 	const(ubyte)* mgl_get_background (HMGL gr);
2402 	const(ubyte)* mgl_get_background_ (uintptr_t* gr);
2403     ///
2404 	void	 mgl_set_obj_id (HMGL gr, int id);
2405     ///
2406 	void	 mgl_set_obj_id_ (uintptr_t* gr, int* id);
2407 	int mgl_get_obj_id (HMGL gr, int x, int y);
2408 	int mgl_get_obj_id_ (uintptr_t* gr, int* x, int* y);
2409 	int mgl_get_spl_id (HMGL gr, int x, int y);
2410 	int mgl_get_spl_id_ (uintptr_t* gr, int* x, int* y);
2411 	int mgl_get_width (HMGL gr);
2412 	int mgl_get_width_ (uintptr_t* gr);
2413 	int mgl_get_height (HMGL gr);
2414 	int mgl_get_height_ (uintptr_t* gr);
2415     ///
2416 	void	 mgl_calc_xyz (HMGL gr, int xs, int ys, mreal* x, mreal* y, mreal* z);
2417     ///
2418 	void	 mgl_calc_xyz_ (uintptr_t* gr, int* xs, int* ys, mreal* x, mreal* y, mreal* z);
2419     ///
2420 	void	 mgl_calc_scr (HMGL gr, double x, double y, double z, int* xs, int* ys);
2421     ///
2422 	void	 mgl_calc_scr_ (uintptr_t* gr, mreal* x, mreal* y, mreal* z, int* xs, int* ys);
2423 	c_long mgl_is_active (HMGL gr, int xs, int ys, int d);
2424 	c_long mgl_is_active_ (uintptr_t* gr, int* xs, int* ys, int* d);
2425 	int mgl_new_frame (HMGL gr);
2426 	int mgl_new_frame_ (uintptr_t* gr);
2427     ///
2428 	void	 mgl_end_frame (HMGL gr);
2429     ///
2430 	void	 mgl_end_frame_ (uintptr_t* gr);
2431 	int mgl_get_num_frame (HMGL gr);
2432 	int mgl_get_num_frame_ (uintptr_t* gr);
2433     ///
2434 	void	 mgl_reset_frames (HMGL gr);
2435     ///
2436 	void	 mgl_reset_frames_ (uintptr_t* gr);
2437     ///
2438 	void	 mgl_get_frame (HMGL gr, int i);
2439     ///
2440 	void	 mgl_get_frame_ (uintptr_t* gr, int* i);
2441     ///
2442 	void	 mgl_set_frame (HMGL gr, int i);
2443     ///
2444 	void	 mgl_set_frame_ (uintptr_t* gr, int* i);
2445     ///
2446 	void	 mgl_show_frame (HMGL gr, int i);
2447     ///
2448 	void	 mgl_show_frame_ (uintptr_t* gr, int* i);
2449     ///
2450 	void	 mgl_del_frame (HMGL gr, int i);
2451     ///
2452 	void	 mgl_del_frame_ (uintptr_t* gr, int* i);
2453     ///
2454 	void	 mgl_clear_frame (HMGL gr);
2455     ///
2456 	void	 mgl_clear_frame_ (uintptr_t* gr);
2457     ///
2458 	void	 mgl_set_transp_type (HMGL gr, int kind);
2459     ///
2460 	void	 mgl_set_transp_type_ (uintptr_t* gr, int* kind);
2461     ///
2462 	void	 mgl_set_alpha (HMGL gr, int enable);
2463     ///
2464 	void	 mgl_set_alpha_ (uintptr_t* gr, int* enable);
2465     ///
2466 	void	 mgl_set_fog (HMGL gr, double d, double dz);
2467     ///
2468 	void	 mgl_set_fog_ (uintptr_t* gr, mreal* dist, mreal* dz);
2469     ///
2470 	void	 mgl_set_light (HMGL gr, int enable);
2471     ///
2472 	void	 mgl_set_light_ (uintptr_t* gr, int* enable);
2473     ///
2474 	void	 mgl_set_light_n (HMGL gr, int n, int enable);
2475     ///
2476 	void	 mgl_set_light_n_ (uintptr_t* gr, int* n, int* enable);
2477     ///
2478 	void	 mgl_add_light (HMGL gr, int n, double x, double y, double z);
2479     ///
2480 	void	 mgl_add_light_ (uintptr_t* gr, int* n, mreal* x, mreal* y, mreal* z);
2481     ///
2482 	void	 mgl_add_light_ext (HMGL gr, int n, double x, double y, double z, char c, double br, double ap);
2483     ///
2484 	void	 mgl_add_light_ext_ (uintptr_t* gr, int* n, mreal* x, mreal* y, mreal* z, char* c, mreal* br, mreal* ap, int);
2485     ///
2486 	void	 mgl_add_light_loc (HMGL gr, int n, double x, double y, double z, double dx, double dy, double dz, char c, double br, double ap);
2487     ///
2488 	void	 mgl_add_light_loc_ (uintptr_t* gr, int* n, mreal* x, mreal* y, mreal* z, mreal* dx, mreal* dy, mreal* dz, char* c, mreal* br, mreal* ap, int);
2489     ///
2490 	void	 mgl_mat_pop (HMGL gr);
2491     ///
2492 	void	 mgl_mat_pop_ (uintptr_t* gr);
2493     ///
2494 	void	 mgl_mat_push (HMGL gr);
2495     ///
2496 	void	 mgl_mat_push_ (uintptr_t* gr);
2497     ///
2498 	void	 mgl_clf (HMGL gr);
2499     ///
2500 	void	 mgl_clf_ (uintptr_t* gr);
2501     ///
2502 	void	 mgl_clf_nfog (HMGL gr);
2503     ///
2504 	void	 mgl_clf_nfog_ (uintptr_t* gr);
2505     ///
2506 	void	 mgl_clf_rgb (HMGL gr, double r, double g, double b);
2507     ///
2508 	void	 mgl_clf_rgb_ (uintptr_t* gr, mreal* r, mreal* g, mreal* b);
2509     ///
2510 	void	 mgl_clf_chr (HMGL gr, char col);
2511     ///
2512 	void	 mgl_clf_chr_ (uintptr_t* gr, const(char)* col, int);
2513     ///
2514 	void	 mgl_clf_str (HMGL gr, const(char)* col);
2515     ///
2516 	void	 mgl_clf_str_ (uintptr_t* gr, const(char)* col, int);
2517     ///
2518 	void	 mgl_load_background (HMGL gr, const(char)* fname, double alpha);
2519     ///
2520 	void	 mgl_load_background_ (uintptr_t* gr, const(char)* fname, mreal* alpha, int);
2521     ///
2522 	void	 mgl_subplot (HMGL gr, int nx, int ny, int m, const(char)* style);
2523     ///
2524 	void	 mgl_subplot_ (uintptr_t* gr, int* nx, int* ny, int* m, const(char)* s, int);
2525     ///
2526 	void	 mgl_subplot_d (HMGL gr, int nx, int ny, int m, const(char)* style, double dx, double dy);
2527     ///
2528 	void	 mgl_subplot_d_ (uintptr_t* gr, int* nx, int* ny, int* m, mreal* dx, mreal* dy);
2529     ///
2530 	void	 mgl_multiplot (HMGL gr, int nx, int ny, int m, int dx, int dy, const(char)* style);
2531     ///
2532 	void	 mgl_multiplot_ (uintptr_t* gr, int* nx, int* ny, int* m, int* dx, int* dy, const(char)* s, int);
2533     ///
2534 	void	 mgl_inplot (HMGL gr, double x1, double x2, double y1, double y2);
2535     ///
2536 	void	 mgl_inplot_ (uintptr_t* gr, mreal* x1, mreal* x2, mreal* y1, mreal* y2);
2537     ///
2538 	void	 mgl_relplot (HMGL gr, double x1, double x2, double y1, double y2);
2539     ///
2540 	void	 mgl_relplot_ (uintptr_t* gr, mreal* x1, mreal* x2, mreal* y1, mreal* y2);
2541     ///
2542 	void	 mgl_columnplot (HMGL gr, int num, int ind, double d);
2543     ///
2544 	void	 mgl_columnplot_ (uintptr_t* gr, int* num, int* i, mreal* d);
2545     ///
2546 	void	 mgl_gridplot (HMGL gr, int nx, int ny, int m, double d);
2547     ///
2548 	void	 mgl_gridplot_ (uintptr_t* gr, int* nx, int* ny, int* m, mreal* d);
2549     ///
2550 	void	 mgl_stickplot (HMGL gr, int num, int ind, double tet, double phi);
2551     ///
2552 	void	 mgl_stickplot_ (uintptr_t* gr, int* num, int* i, mreal* tet, mreal* phi);
2553     ///
2554 	void	 mgl_title (HMGL gr, const(char)* title, const(char)* stl, double size);
2555     ///
2556 	void	 mgl_title_ (uintptr_t* gr, const(char)* title, const(char)* stl, mreal* size, int, int);
2557     ///
2558 	void	 mgl_titlew (HMGL gr, const(dchar)* title, const(char)* stl, double size);
2559     ///
2560 	void	 mgl_set_plotfactor (HMGL gr, double val);
2561     ///
2562 	void	 mgl_set_plotfactor_ (uintptr_t* gr, mreal* val);
2563     ///
2564 	void	 mgl_aspect (HMGL gr, double Ax, double Ay, double Az);
2565     ///
2566 	void	 mgl_aspect_ (uintptr_t* gr, mreal* Ax, mreal* Ay, mreal* Az);
2567     ///
2568 	void	 mgl_rotate (HMGL gr, double TetX, double TetZ, double TetY);
2569     ///
2570 	void	 mgl_rotate_ (uintptr_t* gr, mreal* TetX, mreal* TetZ, mreal* TetY);
2571     ///
2572 	void	 mgl_rotate_vector (HMGL gr, double Tet, double x, double y, double z);
2573     ///
2574 	void	 mgl_rotate_vector_ (uintptr_t* gr, mreal* Tet, mreal* x, mreal* y, mreal* z);
2575     ///
2576 	void	 mgl_perspective (HMGL gr, double val);
2577     ///
2578 	void	 mgl_perspective_ (uintptr_t* gr, mreal* val);
2579     ///
2580 	void	 mgl_ask_perspective (HMGL gr, double val);
2581     ///
2582 	void	 mgl_ask_perspective_ (uintptr_t* gr, mreal* val);
2583     ///
2584 	void	 mgl_view (HMGL gr, double TetX, double TetZ, double TetY);
2585     ///
2586 	void	 mgl_view_ (uintptr_t* gr, mreal* TetX, mreal* TetZ, mreal* TetY);
2587     ///
2588 	void	 mgl_zoom (HMGL gr, double x1, double y1, double x2, double y2);
2589 	///
2590 	void mgl_zoom_ (uintptr_t* gr, mreal* x1, mreal* y1, mreal* x2, mreal* y2);
2591 	///
2592 	void mgl_set_click_func (HMGL gr, void function (void*) func);
2593 	///
2594 	void mgl_wnd_set_func (HMGL gr, int function (HMGL, void*) draw, void* par, void function (void*) reload);
2595 	///
2596 	void mgl_wnd_set_delay (HMGL gr, double dt);
2597 	///
2598 	void mgl_wnd_set_delay_ (uintptr_t* gr, mreal* dt);
2599 	///
2600 	double mgl_wnd_get_delay (HMGL gr);
2601 	///
2602 	double mgl_wnd_get_delay_ (uintptr_t* gr);
2603 	///
2604 	void mgl_setup_window (HMGL gr, int clf_upd, int showpos);
2605 	///
2606 	void mgl_setup_window_ (uintptr_t* gr, int* clf_upd, int* showpos);
2607 	///
2608 	void mgl_wnd_toggle_alpha (HMGL gr);
2609 	///
2610 	void mgl_wnd_toggle_alpha_ (uintptr_t* gr);
2611 	///
2612 	void mgl_wnd_toggle_light (HMGL gr);
2613 	///
2614 	void mgl_wnd_toggle_light_ (uintptr_t* gr);
2615 	///
2616 	void mgl_wnd_toggle_zoom (HMGL gr);
2617 	///
2618 	void mgl_wnd_toggle_zoom_ (uintptr_t* gr);
2619 	///
2620 	void mgl_wnd_toggle_rotate (HMGL gr);
2621 	///
2622 	void mgl_wnd_toggle_rotate_ (uintptr_t* gr);
2623 	///
2624 	void mgl_wnd_toggle_no (HMGL gr);
2625 	///
2626 	void mgl_wnd_toggle_no_ (uintptr_t* gr);
2627 	///
2628 	void mgl_wnd_update (HMGL gr);
2629 	///
2630 	void mgl_wnd_update_ (uintptr_t* gr);
2631 	///
2632 	void mgl_wnd_reload (HMGL gr);
2633 	///
2634 	void mgl_wnd_reload_ (uintptr_t* gr);
2635 	///
2636 	void mgl_wnd_adjust (HMGL gr);
2637 	///
2638 	void mgl_wnd_adjust_ (uintptr_t* gr);
2639 	///
2640 	void mgl_wnd_next_frame (HMGL gr);
2641 	///
2642 	void mgl_wnd_next_frame_ (uintptr_t* gr);
2643 	///
2644 	void mgl_wnd_prev_frame (HMGL gr);
2645 	///
2646 	void mgl_wnd_prev_frame_ (uintptr_t* gr);
2647 	///
2648 	void mgl_wnd_animation (HMGL gr);
2649 	///
2650 	void mgl_wnd_animation_ (uintptr_t* gr);
2651 	///
2652 	void mgl_get_last_mouse_pos (HMGL gr, mreal* x, mreal* y, mreal* z);
2653 	///
2654 	void mgl_get_last_mouse_pos_ (uintptr_t* gr, mreal* x, mreal* y, mreal* z);
2655 	///
2656 	HMPR mgl_create_parser ();
2657 	///
2658 	uintptr_t mgl_create_parser_ ();
2659 	///
2660 	c_long mgl_use_parser (HMPR p, int inc);
2661 	///
2662 	c_long mgl_use_parser_ (uintptr_t*, int* inc);
2663 	///
2664 	void mgl_delete_parser (HMPR p);
2665 	///
2666 	void mgl_delete_parser_ (uintptr_t* p);
2667 	///
2668 	void mgl_parser_add_param (HMPR p, int id, const(char)* str);
2669 	///
2670 	void mgl_parser_add_param_ (uintptr_t* p, int* id, const(char)* str, int);
2671 	///
2672 	void mgl_parser_add_paramw (HMPR p, int id, const(dchar)* str);
2673 	///
2674 	HMDT mgl_parser_add_var (HMPR p, const(char)* name);
2675 	///
2676 	uintptr_t mgl_parser_add_var_ (uintptr_t* p, const(char)* name, int);
2677 	///
2678 	HMDT mgl_parser_add_varw (HMPR p, const(dchar)* name);
2679 	///
2680 	void* mgl_parser_find_var (HMPR p, const(char)* name);
2681 	///
2682 	uintptr_t mgl_parser_find_var_ (uintptr_t* p, const(char)* name, int);
2683 	///
2684 	void* mgl_parser_find_varw (HMPR p, const(dchar)* name);
2685 	///
2686 	void* mgl_parser_get_var (HMPR p, c_ulong id);
2687 	///
2688 	uintptr_t mgl_parser_get_var_ (uintptr_t* p, c_ulong* id);
2689 	///
2690 	c_long mgl_parser_num_var (HMPR p);
2691 	///
2692 	c_long mgl_parser_num_var_ (uintptr_t* p);
2693 	///
2694 	void mgl_parser_del_var (HMPR p, const(char)* name);
2695 	///
2696 	void mgl_parser_del_var_ (uintptr_t* p, const(char)* name, int);
2697 	///
2698 	void mgl_parser_del_varw (HMPR p, const(dchar)* name);
2699 	///
2700 	void mgl_parser_del_all (HMPR p);
2701 	///
2702 	void mgl_parser_del_all_ (uintptr_t* p);
2703 	///
2704 	void mgl_parser_load (HMPR pr, const(char)* dll_name);
2705 	///
2706 	void mgl_parser_load_ (uintptr_t* pr, const(char)* dll_name, int);
2707 	///
2708 	int mgl_parse_line (HMGL gr, HMPR p, const(char)* str, int pos);
2709 	///
2710 	int mgl_parse_line_ (uintptr_t* gr, uintptr_t* p, const(char)* str, int* pos, int);
2711 	///
2712 	int mgl_parse_linew (HMGL gr, HMPR p, const(dchar)* str, int pos);
2713 	///
2714 	void mgl_parse_file (HMGL gr, HMPR p, FILE* fp, int print);
2715 	///
2716 	void mgl_parse_text (HMGL gr, HMPR p, const(char)* str);
2717 	///
2718 	void mgl_parse_text_ (uintptr_t* gr, uintptr_t* p, const(char)* str, int);
2719 	///
2720 	void mgl_parse_textw (HMGL gr, HMPR p, const(dchar)* str);
2721 	///
2722 	void mgl_parser_restore_once (HMPR p);
2723 	///
2724 	void mgl_parser_restore_once_ (uintptr_t* p);
2725 	///
2726 	void mgl_parser_allow_setsize (HMPR p, int a);
2727 	///
2728 	void mgl_parser_allow_setsize_ (uintptr_t* p, int* a);
2729 	///
2730 	void mgl_parser_allow_file_io (HMPR p, int a);
2731 	///
2732 	void mgl_parser_allow_file_io_ (uintptr_t* p, int* a);
2733 	///
2734 	void mgl_parser_allow_dll_call (HMPR p, int a);
2735 	///
2736 	void mgl_parser_allow_dll_call_ (uintptr_t* p, int* a);
2737 	///
2738 	void mgl_parser_stop (HMPR p);
2739 	///
2740 	void mgl_parser_stop_ (uintptr_t* p);
2741 	///
2742 	int mgl_parser_cmd_type (HMPR pr, const(char)* name);
2743 	///
2744 	int mgl_parser_cmd_type_ (uintptr_t* p, const(char)* name, int);
2745 	///
2746 	const(char)* mgl_parser_cmd_desc (HMPR pr, const(char)* name);
2747 	///
2748 	const(char)* mgl_parser_cmd_frmt (HMPR pr, const(char)* name);
2749 	///
2750 	const(char)* mgl_parser_cmd_name (HMPR pr, c_long id);
2751 	///
2752 	c_long mgl_parser_cmd_num (HMPR pr);
2753 	///
2754 	HMDT mgl_parser_calc (HMPR pr, const(char)* formula);
2755 	///
2756 	uintptr_t mgl_parser_calc_ (uintptr_t* pr, const(char)* formula, int);
2757 	///
2758 	HMDT mgl_parser_calcw (HMPR pr, const(dchar)* formula);
2759 
2760 	///
2761 	double mgl_gauss_rnd ();
2762 	///
2763 	void mgl_fft_freq (double* freq, c_long nn);
2764 	///
2765 	void mgl_strcls (char* str);
2766 	///
2767 	c_long mgl_strpos (const(char)* str, char* fnd);
2768 	///
2769 	c_long mgl_chrpos (const(char)* str, char fnd);
2770 	///
2771 	char* mgl_fgetstr (FILE* fp);
2772 	///
2773 	void mgl_fgetpar (FILE* fp, const(char)* str, ...);
2774 	///
2775 	int mgl_istrue (char ch);
2776 	///
2777 	void mgl_test (const(char)* str, ...);
2778 	///
2779 	void mgl_info (const(char)* str, ...);
2780 	///
2781 	FILE* mgl_next_data (const(char)* fname, int p);
2782 }