blob: 83049056f1f25f7933b5c7d4764091c00f3e1af8 [file] [log] [blame]
Lev Walkinb5450702017-10-04 02:52:57 -07001
2/*** <<< INCLUDES [UnconstrainedREAL] >>> ***/
3
4#include <REAL.h>
5
6/*** <<< TYPE-DECLS [UnconstrainedREAL] >>> ***/
7
8typedef REAL_t UnconstrainedREAL_t;
9
10/*** <<< FUNC-DECLS [UnconstrainedREAL] >>> ***/
11
12extern asn_TYPE_descriptor_t asn_DEF_UnconstrainedREAL;
13asn_struct_free_f UnconstrainedREAL_free;
14asn_struct_print_f UnconstrainedREAL_print;
15asn_constr_check_f UnconstrainedREAL_constraint;
16ber_type_decoder_f UnconstrainedREAL_decode_ber;
17der_type_encoder_f UnconstrainedREAL_encode_der;
18xer_type_decoder_f UnconstrainedREAL_decode_xer;
19xer_type_encoder_f UnconstrainedREAL_encode_xer;
20
21/*** <<< CODE [UnconstrainedREAL] >>> ***/
22
23/*
24 * This type is implemented using REAL,
25 * so here we adjust the DEF accordingly.
26 */
27
28/*** <<< STAT-DEFS [UnconstrainedREAL] >>> ***/
29
30static const ber_tlv_tag_t asn_DEF_UnconstrainedREAL_tags_1[] = {
31 (ASN_TAG_CLASS_UNIVERSAL | (9 << 2))
32};
33asn_TYPE_descriptor_t asn_DEF_UnconstrainedREAL = {
34 "UnconstrainedREAL",
35 "UnconstrainedREAL",
36 &asn_OP_REAL,
37 asn_DEF_UnconstrainedREAL_tags_1,
38 sizeof(asn_DEF_UnconstrainedREAL_tags_1)
39 /sizeof(asn_DEF_UnconstrainedREAL_tags_1[0]), /* 1 */
40 asn_DEF_UnconstrainedREAL_tags_1, /* Same as above */
41 sizeof(asn_DEF_UnconstrainedREAL_tags_1)
42 /sizeof(asn_DEF_UnconstrainedREAL_tags_1[0]), /* 1 */
43 { 0, 0, REAL_constraint },
44 0, 0, /* No members */
45 0 /* No specifics */
46};
47
48
49/*** <<< INCLUDES [WeirdlyConstrainedREAL] >>> ***/
50
51#include <REAL.h>
52
53/*** <<< TYPE-DECLS [WeirdlyConstrainedREAL] >>> ***/
54
55typedef REAL_t WeirdlyConstrainedREAL_t;
56
57/*** <<< FUNC-DECLS [WeirdlyConstrainedREAL] >>> ***/
58
59extern asn_TYPE_descriptor_t asn_DEF_WeirdlyConstrainedREAL;
60asn_struct_free_f WeirdlyConstrainedREAL_free;
61asn_struct_print_f WeirdlyConstrainedREAL_print;
62asn_constr_check_f WeirdlyConstrainedREAL_constraint;
63ber_type_decoder_f WeirdlyConstrainedREAL_decode_ber;
64der_type_encoder_f WeirdlyConstrainedREAL_encode_der;
65xer_type_decoder_f WeirdlyConstrainedREAL_decode_xer;
66xer_type_encoder_f WeirdlyConstrainedREAL_encode_xer;
67
68/*** <<< CODE [WeirdlyConstrainedREAL] >>> ***/
69
70int
71WeirdlyConstrainedREAL_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
72 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
73 const REAL_t *st = (const REAL_t *)sptr;
74 double value;
75
76 if(!sptr) {
77 ASN__CTFAIL(app_key, td, sptr,
78 "%s: value not given (%s:%d)",
79 td->name, __FILE__, __LINE__);
80 return -1;
81 }
82
83 if(asn_REAL2double(st, &value)) {
84 ASN__CTFAIL(app_key, td, sptr,
85 "%s: value too large (%s:%d)",
86 td->name, __FILE__, __LINE__);
87 return -1;
88 }
89
90 if((value == 3)) {
91 /* Constraint check succeeded */
92 return 0;
93 } else {
94 ASN__CTFAIL(app_key, td, sptr,
95 "%s: constraint failed (%s:%d)",
96 td->name, __FILE__, __LINE__);
97 return -1;
98 }
99}
100
101/*
102 * This type is implemented using REAL,
103 * so here we adjust the DEF accordingly.
104 */
105
106/*** <<< STAT-DEFS [WeirdlyConstrainedREAL] >>> ***/
107
108static const ber_tlv_tag_t asn_DEF_WeirdlyConstrainedREAL_tags_1[] = {
109 (ASN_TAG_CLASS_UNIVERSAL | (9 << 2))
110};
111asn_TYPE_descriptor_t asn_DEF_WeirdlyConstrainedREAL = {
112 "WeirdlyConstrainedREAL",
113 "WeirdlyConstrainedREAL",
114 &asn_OP_REAL,
115 asn_DEF_WeirdlyConstrainedREAL_tags_1,
116 sizeof(asn_DEF_WeirdlyConstrainedREAL_tags_1)
117 /sizeof(asn_DEF_WeirdlyConstrainedREAL_tags_1[0]), /* 1 */
118 asn_DEF_WeirdlyConstrainedREAL_tags_1, /* Same as above */
119 sizeof(asn_DEF_WeirdlyConstrainedREAL_tags_1)
120 /sizeof(asn_DEF_WeirdlyConstrainedREAL_tags_1[0]), /* 1 */
121 { 0, 0, WeirdlyConstrainedREAL_constraint },
122 0, 0, /* No members */
123 0 /* No specifics */
124};
125
126
127/*** <<< INCLUDES [Indirect-IEEE-binary32] >>> ***/
128
129#include "UnconstrainedREAL.h"
130
131/*** <<< TYPE-DECLS [Indirect-IEEE-binary32] >>> ***/
132
133typedef UnconstrainedREAL_t Indirect_IEEE_binary32_t;
134
135/*** <<< FUNC-DECLS [Indirect-IEEE-binary32] >>> ***/
136
137extern asn_TYPE_descriptor_t asn_DEF_Indirect_IEEE_binary32;
138extern const asn_REAL_specifics_t asn_SPC_Indirect_IEEE_binary32_specs_1;
139asn_struct_free_f Indirect_IEEE_binary32_free;
140asn_struct_print_f Indirect_IEEE_binary32_print;
141asn_constr_check_f Indirect_IEEE_binary32_constraint;
142ber_type_decoder_f Indirect_IEEE_binary32_decode_ber;
143der_type_encoder_f Indirect_IEEE_binary32_encode_der;
144xer_type_decoder_f Indirect_IEEE_binary32_decode_xer;
145xer_type_encoder_f Indirect_IEEE_binary32_encode_xer;
146
147/*** <<< CODE [Indirect-IEEE-binary32] >>> ***/
148
149int
150Indirect_IEEE_binary32_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
151 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
152 const UnconstrainedREAL_t *st = (const UnconstrainedREAL_t *)sptr;
153
154 if(!sptr) {
155 ASN__CTFAIL(app_key, td, sptr,
156 "%s: value not given (%s:%d)",
157 td->name, __FILE__, __LINE__);
158 return -1;
159 }
160
161
162 if(1 /* No applicable constraints whatsoever */) {
163 (void)st; /* Unused variable */
164 /* Nothing is here. See below */
165 }
166
167 return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
168}
169
170/*
171 * This type is implemented using UnconstrainedREAL,
172 * so here we adjust the DEF accordingly.
173 */
174
175/*** <<< STAT-DEFS [Indirect-IEEE-binary32] >>> ***/
176
177const asn_NativeReal_specifics_t asn_SPC_Indirect_IEEE_binary32_specs_1 = {
178 4 /* Use 'float' type. */
179};
180static const ber_tlv_tag_t asn_DEF_Indirect_IEEE_binary32_tags_1[] = {
181 (ASN_TAG_CLASS_UNIVERSAL | (9 << 2))
182};
183asn_TYPE_descriptor_t asn_DEF_Indirect_IEEE_binary32 = {
184 "Indirect-IEEE-binary32",
185 "Indirect-IEEE-binary32",
186 &asn_OP_REAL,
187 asn_DEF_Indirect_IEEE_binary32_tags_1,
188 sizeof(asn_DEF_Indirect_IEEE_binary32_tags_1)
189 /sizeof(asn_DEF_Indirect_IEEE_binary32_tags_1[0]), /* 1 */
190 asn_DEF_Indirect_IEEE_binary32_tags_1, /* Same as above */
191 sizeof(asn_DEF_Indirect_IEEE_binary32_tags_1)
192 /sizeof(asn_DEF_Indirect_IEEE_binary32_tags_1[0]), /* 1 */
193 { 0, 0, Indirect_IEEE_binary32_constraint },
194 0, 0, /* No members */
195 &asn_SPC_Indirect_IEEE_binary32_specs_1 /* Additional specs */
196};
197
198
199/*** <<< INCLUDES [IEEE-binary32-w] >>> ***/
200
201#include <REAL.h>
202
203/*** <<< TYPE-DECLS [IEEE-binary32-w] >>> ***/
204
205typedef REAL_t IEEE_binary32_w_t;
206
207/*** <<< FUNC-DECLS [IEEE-binary32-w] >>> ***/
208
209extern asn_TYPE_descriptor_t asn_DEF_IEEE_binary32_w;
210extern const asn_REAL_specifics_t asn_SPC_IEEE_binary32_w_specs_1;
211asn_struct_free_f IEEE_binary32_w_free;
212asn_struct_print_f IEEE_binary32_w_print;
213asn_constr_check_f IEEE_binary32_w_constraint;
214ber_type_decoder_f IEEE_binary32_w_decode_ber;
215der_type_encoder_f IEEE_binary32_w_encode_der;
216xer_type_decoder_f IEEE_binary32_w_decode_xer;
217xer_type_encoder_f IEEE_binary32_w_encode_xer;
218
219/*** <<< CODE [IEEE-binary32-w] >>> ***/
220
221int
222IEEE_binary32_w_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
223 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
224 const REAL_t *st = (const REAL_t *)sptr;
225
226 if(!sptr) {
227 ASN__CTFAIL(app_key, td, sptr,
228 "%s: value not given (%s:%d)",
229 td->name, __FILE__, __LINE__);
230 return -1;
231 }
232
233
234 if(1 /* No applicable constraints whatsoever */) {
235 (void)st; /* Unused variable */
236 /* Nothing is here. See below */
237 }
238
239 return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
240}
241
242/*
243 * This type is implemented using REAL,
244 * so here we adjust the DEF accordingly.
245 */
246
247/*** <<< STAT-DEFS [IEEE-binary32-w] >>> ***/
248
249const asn_NativeReal_specifics_t asn_SPC_IEEE_binary32_w_specs_1 = {
250 4 /* Use 'float' type. */
251};
252static const ber_tlv_tag_t asn_DEF_IEEE_binary32_w_tags_1[] = {
253 (ASN_TAG_CLASS_UNIVERSAL | (9 << 2))
254};
255asn_TYPE_descriptor_t asn_DEF_IEEE_binary32_w = {
256 "IEEE-binary32-w",
257 "IEEE-binary32-w",
258 &asn_OP_REAL,
259 asn_DEF_IEEE_binary32_w_tags_1,
260 sizeof(asn_DEF_IEEE_binary32_w_tags_1)
261 /sizeof(asn_DEF_IEEE_binary32_w_tags_1[0]), /* 1 */
262 asn_DEF_IEEE_binary32_w_tags_1, /* Same as above */
263 sizeof(asn_DEF_IEEE_binary32_w_tags_1)
264 /sizeof(asn_DEF_IEEE_binary32_w_tags_1[0]), /* 1 */
265 { 0, 0, IEEE_binary32_w_constraint },
266 0, 0, /* No members */
267 &asn_SPC_IEEE_binary32_w_specs_1 /* Additional specs */
268};
269
270
271/*** <<< INCLUDES [IEEE-binary32-0w] >>> ***/
272
273#include <REAL.h>
274
275/*** <<< TYPE-DECLS [IEEE-binary32-0w] >>> ***/
276
277typedef REAL_t IEEE_binary32_0w_t;
278
279/*** <<< FUNC-DECLS [IEEE-binary32-0w] >>> ***/
280
281extern asn_TYPE_descriptor_t asn_DEF_IEEE_binary32_0w;
282extern const asn_REAL_specifics_t asn_SPC_IEEE_binary32_0w_specs_1;
283asn_struct_free_f IEEE_binary32_0w_free;
284asn_struct_print_f IEEE_binary32_0w_print;
285asn_constr_check_f IEEE_binary32_0w_constraint;
286ber_type_decoder_f IEEE_binary32_0w_decode_ber;
287der_type_encoder_f IEEE_binary32_0w_encode_der;
288xer_type_decoder_f IEEE_binary32_0w_decode_xer;
289xer_type_encoder_f IEEE_binary32_0w_encode_xer;
290
291/*** <<< CODE [IEEE-binary32-0w] >>> ***/
292
293int
294IEEE_binary32_0w_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
295 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
296 const REAL_t *st = (const REAL_t *)sptr;
297
298 if(!sptr) {
299 ASN__CTFAIL(app_key, td, sptr,
300 "%s: value not given (%s:%d)",
301 td->name, __FILE__, __LINE__);
302 return -1;
303 }
304
305
306 if(1 /* No applicable constraints whatsoever */) {
307 (void)st; /* Unused variable */
308 /* Nothing is here. See below */
309 }
310
311 return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
312}
313
314/*
315 * This type is implemented using REAL,
316 * so here we adjust the DEF accordingly.
317 */
318
319/*** <<< STAT-DEFS [IEEE-binary32-0w] >>> ***/
320
321const asn_NativeReal_specifics_t asn_SPC_IEEE_binary32_0w_specs_1 = {
322 4 /* Use 'float' type. */
323};
324static const ber_tlv_tag_t asn_DEF_IEEE_binary32_0w_tags_1[] = {
325 (ASN_TAG_CLASS_UNIVERSAL | (9 << 2))
326};
327asn_TYPE_descriptor_t asn_DEF_IEEE_binary32_0w = {
328 "IEEE-binary32-0w",
329 "IEEE-binary32-0w",
330 &asn_OP_REAL,
331 asn_DEF_IEEE_binary32_0w_tags_1,
332 sizeof(asn_DEF_IEEE_binary32_0w_tags_1)
333 /sizeof(asn_DEF_IEEE_binary32_0w_tags_1[0]), /* 1 */
334 asn_DEF_IEEE_binary32_0w_tags_1, /* Same as above */
335 sizeof(asn_DEF_IEEE_binary32_0w_tags_1)
336 /sizeof(asn_DEF_IEEE_binary32_0w_tags_1[0]), /* 1 */
337 { 0, 0, IEEE_binary32_0w_constraint },
338 0, 0, /* No members */
339 &asn_SPC_IEEE_binary32_0w_specs_1 /* Additional specs */
340};
341
342
343/*** <<< INCLUDES [IEEE-binary32-w0] >>> ***/
344
345#include <REAL.h>
346
347/*** <<< TYPE-DECLS [IEEE-binary32-w0] >>> ***/
348
349typedef REAL_t IEEE_binary32_w0_t;
350
351/*** <<< FUNC-DECLS [IEEE-binary32-w0] >>> ***/
352
353extern asn_TYPE_descriptor_t asn_DEF_IEEE_binary32_w0;
354extern const asn_REAL_specifics_t asn_SPC_IEEE_binary32_w0_specs_1;
355asn_struct_free_f IEEE_binary32_w0_free;
356asn_struct_print_f IEEE_binary32_w0_print;
357asn_constr_check_f IEEE_binary32_w0_constraint;
358ber_type_decoder_f IEEE_binary32_w0_decode_ber;
359der_type_encoder_f IEEE_binary32_w0_encode_der;
360xer_type_decoder_f IEEE_binary32_w0_decode_xer;
361xer_type_encoder_f IEEE_binary32_w0_encode_xer;
362
363/*** <<< CODE [IEEE-binary32-w0] >>> ***/
364
365int
366IEEE_binary32_w0_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
367 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
368 const REAL_t *st = (const REAL_t *)sptr;
369
370 if(!sptr) {
371 ASN__CTFAIL(app_key, td, sptr,
372 "%s: value not given (%s:%d)",
373 td->name, __FILE__, __LINE__);
374 return -1;
375 }
376
377
378 if(1 /* No applicable constraints whatsoever */) {
379 (void)st; /* Unused variable */
380 /* Nothing is here. See below */
381 }
382
383 return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
384}
385
386/*
387 * This type is implemented using REAL,
388 * so here we adjust the DEF accordingly.
389 */
390
391/*** <<< STAT-DEFS [IEEE-binary32-w0] >>> ***/
392
393const asn_NativeReal_specifics_t asn_SPC_IEEE_binary32_w0_specs_1 = {
394 4 /* Use 'float' type. */
395};
396static const ber_tlv_tag_t asn_DEF_IEEE_binary32_w0_tags_1[] = {
397 (ASN_TAG_CLASS_UNIVERSAL | (9 << 2))
398};
399asn_TYPE_descriptor_t asn_DEF_IEEE_binary32_w0 = {
400 "IEEE-binary32-w0",
401 "IEEE-binary32-w0",
402 &asn_OP_REAL,
403 asn_DEF_IEEE_binary32_w0_tags_1,
404 sizeof(asn_DEF_IEEE_binary32_w0_tags_1)
405 /sizeof(asn_DEF_IEEE_binary32_w0_tags_1[0]), /* 1 */
406 asn_DEF_IEEE_binary32_w0_tags_1, /* Same as above */
407 sizeof(asn_DEF_IEEE_binary32_w0_tags_1)
408 /sizeof(asn_DEF_IEEE_binary32_w0_tags_1[0]), /* 1 */
409 { 0, 0, IEEE_binary32_w0_constraint },
410 0, 0, /* No members */
411 &asn_SPC_IEEE_binary32_w0_specs_1 /* Additional specs */
412};
413
414
415/*** <<< INCLUDES [IEEE-binary64-w] >>> ***/
416
417#include <REAL.h>
418
419/*** <<< TYPE-DECLS [IEEE-binary64-w] >>> ***/
420
421typedef REAL_t IEEE_binary64_w_t;
422
423/*** <<< FUNC-DECLS [IEEE-binary64-w] >>> ***/
424
425extern asn_TYPE_descriptor_t asn_DEF_IEEE_binary64_w;
426asn_struct_free_f IEEE_binary64_w_free;
427asn_struct_print_f IEEE_binary64_w_print;
428asn_constr_check_f IEEE_binary64_w_constraint;
429ber_type_decoder_f IEEE_binary64_w_decode_ber;
430der_type_encoder_f IEEE_binary64_w_encode_der;
431xer_type_decoder_f IEEE_binary64_w_decode_xer;
432xer_type_encoder_f IEEE_binary64_w_encode_xer;
433
434/*** <<< CODE [IEEE-binary64-w] >>> ***/
435
436int
437IEEE_binary64_w_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
438 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
439 const REAL_t *st = (const REAL_t *)sptr;
440
441 if(!sptr) {
442 ASN__CTFAIL(app_key, td, sptr,
443 "%s: value not given (%s:%d)",
444 td->name, __FILE__, __LINE__);
445 return -1;
446 }
447
448
449 if(1 /* No applicable constraints whatsoever */) {
450 (void)st; /* Unused variable */
451 /* Nothing is here. See below */
452 }
453
454 return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
455}
456
457/*
458 * This type is implemented using REAL,
459 * so here we adjust the DEF accordingly.
460 */
461
462/*** <<< STAT-DEFS [IEEE-binary64-w] >>> ***/
463
464static const ber_tlv_tag_t asn_DEF_IEEE_binary64_w_tags_1[] = {
465 (ASN_TAG_CLASS_UNIVERSAL | (9 << 2))
466};
467asn_TYPE_descriptor_t asn_DEF_IEEE_binary64_w = {
468 "IEEE-binary64-w",
469 "IEEE-binary64-w",
470 &asn_OP_REAL,
471 asn_DEF_IEEE_binary64_w_tags_1,
472 sizeof(asn_DEF_IEEE_binary64_w_tags_1)
473 /sizeof(asn_DEF_IEEE_binary64_w_tags_1[0]), /* 1 */
474 asn_DEF_IEEE_binary64_w_tags_1, /* Same as above */
475 sizeof(asn_DEF_IEEE_binary64_w_tags_1)
476 /sizeof(asn_DEF_IEEE_binary64_w_tags_1[0]), /* 1 */
477 { 0, 0, IEEE_binary64_w_constraint },
478 0, 0, /* No members */
479 0 /* No specifics */
480};
481
482
483/*** <<< INCLUDES [IEEE-binary64-0w] >>> ***/
484
485#include <REAL.h>
486
487/*** <<< TYPE-DECLS [IEEE-binary64-0w] >>> ***/
488
489typedef REAL_t IEEE_binary64_0w_t;
490
491/*** <<< FUNC-DECLS [IEEE-binary64-0w] >>> ***/
492
493extern asn_TYPE_descriptor_t asn_DEF_IEEE_binary64_0w;
494asn_struct_free_f IEEE_binary64_0w_free;
495asn_struct_print_f IEEE_binary64_0w_print;
496asn_constr_check_f IEEE_binary64_0w_constraint;
497ber_type_decoder_f IEEE_binary64_0w_decode_ber;
498der_type_encoder_f IEEE_binary64_0w_encode_der;
499xer_type_decoder_f IEEE_binary64_0w_decode_xer;
500xer_type_encoder_f IEEE_binary64_0w_encode_xer;
501
502/*** <<< CODE [IEEE-binary64-0w] >>> ***/
503
504int
505IEEE_binary64_0w_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
506 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
507 const REAL_t *st = (const REAL_t *)sptr;
508
509 if(!sptr) {
510 ASN__CTFAIL(app_key, td, sptr,
511 "%s: value not given (%s:%d)",
512 td->name, __FILE__, __LINE__);
513 return -1;
514 }
515
516
517 if(1 /* No applicable constraints whatsoever */) {
518 (void)st; /* Unused variable */
519 /* Nothing is here. See below */
520 }
521
522 return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
523}
524
525/*
526 * This type is implemented using REAL,
527 * so here we adjust the DEF accordingly.
528 */
529
530/*** <<< STAT-DEFS [IEEE-binary64-0w] >>> ***/
531
532static const ber_tlv_tag_t asn_DEF_IEEE_binary64_0w_tags_1[] = {
533 (ASN_TAG_CLASS_UNIVERSAL | (9 << 2))
534};
535asn_TYPE_descriptor_t asn_DEF_IEEE_binary64_0w = {
536 "IEEE-binary64-0w",
537 "IEEE-binary64-0w",
538 &asn_OP_REAL,
539 asn_DEF_IEEE_binary64_0w_tags_1,
540 sizeof(asn_DEF_IEEE_binary64_0w_tags_1)
541 /sizeof(asn_DEF_IEEE_binary64_0w_tags_1[0]), /* 1 */
542 asn_DEF_IEEE_binary64_0w_tags_1, /* Same as above */
543 sizeof(asn_DEF_IEEE_binary64_0w_tags_1)
544 /sizeof(asn_DEF_IEEE_binary64_0w_tags_1[0]), /* 1 */
545 { 0, 0, IEEE_binary64_0w_constraint },
546 0, 0, /* No members */
547 0 /* No specifics */
548};
549
550
551/*** <<< INCLUDES [IEEE-binary64-w0] >>> ***/
552
553#include <REAL.h>
554
555/*** <<< TYPE-DECLS [IEEE-binary64-w0] >>> ***/
556
557typedef REAL_t IEEE_binary64_w0_t;
558
559/*** <<< FUNC-DECLS [IEEE-binary64-w0] >>> ***/
560
561extern asn_TYPE_descriptor_t asn_DEF_IEEE_binary64_w0;
562asn_struct_free_f IEEE_binary64_w0_free;
563asn_struct_print_f IEEE_binary64_w0_print;
564asn_constr_check_f IEEE_binary64_w0_constraint;
565ber_type_decoder_f IEEE_binary64_w0_decode_ber;
566der_type_encoder_f IEEE_binary64_w0_encode_der;
567xer_type_decoder_f IEEE_binary64_w0_decode_xer;
568xer_type_encoder_f IEEE_binary64_w0_encode_xer;
569
570/*** <<< CODE [IEEE-binary64-w0] >>> ***/
571
572int
573IEEE_binary64_w0_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
574 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
575 const REAL_t *st = (const REAL_t *)sptr;
576
577 if(!sptr) {
578 ASN__CTFAIL(app_key, td, sptr,
579 "%s: value not given (%s:%d)",
580 td->name, __FILE__, __LINE__);
581 return -1;
582 }
583
584
585 if(1 /* No applicable constraints whatsoever */) {
586 (void)st; /* Unused variable */
587 /* Nothing is here. See below */
588 }
589
590 return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
591}
592
593/*
594 * This type is implemented using REAL,
595 * so here we adjust the DEF accordingly.
596 */
597
598/*** <<< STAT-DEFS [IEEE-binary64-w0] >>> ***/
599
600static const ber_tlv_tag_t asn_DEF_IEEE_binary64_w0_tags_1[] = {
601 (ASN_TAG_CLASS_UNIVERSAL | (9 << 2))
602};
603asn_TYPE_descriptor_t asn_DEF_IEEE_binary64_w0 = {
604 "IEEE-binary64-w0",
605 "IEEE-binary64-w0",
606 &asn_OP_REAL,
607 asn_DEF_IEEE_binary64_w0_tags_1,
608 sizeof(asn_DEF_IEEE_binary64_w0_tags_1)
609 /sizeof(asn_DEF_IEEE_binary64_w0_tags_1[0]), /* 1 */
610 asn_DEF_IEEE_binary64_w0_tags_1, /* Same as above */
611 sizeof(asn_DEF_IEEE_binary64_w0_tags_1)
612 /sizeof(asn_DEF_IEEE_binary64_w0_tags_1[0]), /* 1 */
613 { 0, 0, IEEE_binary64_w0_constraint },
614 0, 0, /* No members */
615 0 /* No specifics */
616};
617
618
619/*** <<< INCLUDES [Test] >>> ***/
620
621#include "Indirect-IEEE-binary32.h"
622#include "IEEE-binary32-w.h"
623#include "IEEE-binary32-0w.h"
624#include "IEEE-binary32-w0.h"
625#include "IEEE-binary64-w.h"
626#include "IEEE-binary64-0w.h"
627#include "IEEE-binary64-w0.h"
628#include <constr_SEQUENCE.h>
629
630/*** <<< TYPE-DECLS [Test] >>> ***/
631
632typedef struct Test {
633 Indirect_IEEE_binary32_t indirect_ieee_binary32;
634 IEEE_binary32_w_t ieee_binary32_w;
635 IEEE_binary32_0w_t ieee_binary32_0w;
636 IEEE_binary32_w0_t ieee_binary32_w0;
637 IEEE_binary64_w_t ieee_binary64_w;
638 IEEE_binary64_0w_t ieee_binary64_0w;
639 IEEE_binary64_w0_t ieee_binary64_w0;
640
641 /* Context for parsing across buffer boundaries */
642 asn_struct_ctx_t _asn_ctx;
643} Test_t;
644
645/*** <<< FUNC-DECLS [Test] >>> ***/
646
647/* extern asn_TYPE_descriptor_t asn_DEF_indirect_ieee_binary32_2; // (Use -fall-defs-global to expose) */
648/* extern asn_TYPE_descriptor_t asn_DEF_ieee_binary32_w_3; // (Use -fall-defs-global to expose) */
649/* extern asn_TYPE_descriptor_t asn_DEF_ieee_binary32_0w_4; // (Use -fall-defs-global to expose) */
650/* extern asn_TYPE_descriptor_t asn_DEF_ieee_binary32_w0_5; // (Use -fall-defs-global to expose) */
651extern asn_TYPE_descriptor_t asn_DEF_Test;
652
653/*** <<< CODE [Test] >>> ***/
654
655static int
656indirect_ieee_binary32_2_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
657 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
658 const Indirect_IEEE_binary32_t *st = (const Indirect_IEEE_binary32_t *)sptr;
659
660 if(!sptr) {
661 ASN__CTFAIL(app_key, td, sptr,
662 "%s: value not given (%s:%d)",
663 td->name, __FILE__, __LINE__);
664 return -1;
665 }
666
667
668 if(1 /* No applicable constraints whatsoever */) {
669 (void)st; /* Unused variable */
670 /* Nothing is here. See below */
671 }
672
673 return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
674}
675
676/*
677 * This type is implemented using Indirect_IEEE_binary32,
678 * so here we adjust the DEF accordingly.
679 */
680static int
681ieee_binary32_w_3_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
682 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
683 const IEEE_binary32_w_t *st = (const IEEE_binary32_w_t *)sptr;
684
685 if(!sptr) {
686 ASN__CTFAIL(app_key, td, sptr,
687 "%s: value not given (%s:%d)",
688 td->name, __FILE__, __LINE__);
689 return -1;
690 }
691
692
693 if(1 /* No applicable constraints whatsoever */) {
694 (void)st; /* Unused variable */
695 /* Nothing is here. See below */
696 }
697
698 return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
699}
700
701/*
702 * This type is implemented using IEEE_binary32_w,
703 * so here we adjust the DEF accordingly.
704 */
705static int
706ieee_binary32_0w_4_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
707 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
708 const IEEE_binary32_0w_t *st = (const IEEE_binary32_0w_t *)sptr;
709
710 if(!sptr) {
711 ASN__CTFAIL(app_key, td, sptr,
712 "%s: value not given (%s:%d)",
713 td->name, __FILE__, __LINE__);
714 return -1;
715 }
716
717
718 if(1 /* No applicable constraints whatsoever */) {
719 (void)st; /* Unused variable */
720 /* Nothing is here. See below */
721 }
722
723 return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
724}
725
726/*
727 * This type is implemented using IEEE_binary32_0w,
728 * so here we adjust the DEF accordingly.
729 */
730static int
731ieee_binary32_w0_5_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
732 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
733 const IEEE_binary32_w0_t *st = (const IEEE_binary32_w0_t *)sptr;
734
735 if(!sptr) {
736 ASN__CTFAIL(app_key, td, sptr,
737 "%s: value not given (%s:%d)",
738 td->name, __FILE__, __LINE__);
739 return -1;
740 }
741
742
743 if(1 /* No applicable constraints whatsoever */) {
744 (void)st; /* Unused variable */
745 /* Nothing is here. See below */
746 }
747
748 return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
749}
750
751/*
752 * This type is implemented using IEEE_binary32_w0,
753 * so here we adjust the DEF accordingly.
754 */
755
756/*** <<< STAT-DEFS [Test] >>> ***/
757
758static const asn_NativeReal_specifics_t asn_SPC_indirect_ieee_binary32_specs_2 = {
759 4 /* Use 'float' type. */
760};
761static const ber_tlv_tag_t asn_DEF_indirect_ieee_binary32_tags_2[] = {
762 (ASN_TAG_CLASS_UNIVERSAL | (9 << 2))
763};
764static /* Use -fall-defs-global to expose */
765asn_TYPE_descriptor_t asn_DEF_indirect_ieee_binary32_2 = {
766 "indirect-ieee-binary32",
767 "indirect-ieee-binary32",
768 &asn_OP_REAL,
769 asn_DEF_indirect_ieee_binary32_tags_2,
770 sizeof(asn_DEF_indirect_ieee_binary32_tags_2)
771 /sizeof(asn_DEF_indirect_ieee_binary32_tags_2[0]), /* 1 */
772 asn_DEF_indirect_ieee_binary32_tags_2, /* Same as above */
773 sizeof(asn_DEF_indirect_ieee_binary32_tags_2)
774 /sizeof(asn_DEF_indirect_ieee_binary32_tags_2[0]), /* 1 */
775 { 0, 0, indirect_ieee_binary32_2_constraint },
776 0, 0, /* No members */
777 &asn_SPC_indirect_ieee_binary32_specs_2 /* Additional specs */
778};
779
780static const asn_NativeReal_specifics_t asn_SPC_ieee_binary32_w_specs_3 = {
781 4 /* Use 'float' type. */
782};
783static const ber_tlv_tag_t asn_DEF_ieee_binary32_w_tags_3[] = {
784 (ASN_TAG_CLASS_UNIVERSAL | (9 << 2))
785};
786static /* Use -fall-defs-global to expose */
787asn_TYPE_descriptor_t asn_DEF_ieee_binary32_w_3 = {
788 "ieee-binary32-w",
789 "ieee-binary32-w",
790 &asn_OP_REAL,
791 asn_DEF_ieee_binary32_w_tags_3,
792 sizeof(asn_DEF_ieee_binary32_w_tags_3)
793 /sizeof(asn_DEF_ieee_binary32_w_tags_3[0]), /* 1 */
794 asn_DEF_ieee_binary32_w_tags_3, /* Same as above */
795 sizeof(asn_DEF_ieee_binary32_w_tags_3)
796 /sizeof(asn_DEF_ieee_binary32_w_tags_3[0]), /* 1 */
797 { 0, 0, ieee_binary32_w_3_constraint },
798 0, 0, /* No members */
799 &asn_SPC_ieee_binary32_w_specs_3 /* Additional specs */
800};
801
802static const asn_NativeReal_specifics_t asn_SPC_ieee_binary32_0w_specs_4 = {
803 4 /* Use 'float' type. */
804};
805static const ber_tlv_tag_t asn_DEF_ieee_binary32_0w_tags_4[] = {
806 (ASN_TAG_CLASS_UNIVERSAL | (9 << 2))
807};
808static /* Use -fall-defs-global to expose */
809asn_TYPE_descriptor_t asn_DEF_ieee_binary32_0w_4 = {
810 "ieee-binary32-0w",
811 "ieee-binary32-0w",
812 &asn_OP_REAL,
813 asn_DEF_ieee_binary32_0w_tags_4,
814 sizeof(asn_DEF_ieee_binary32_0w_tags_4)
815 /sizeof(asn_DEF_ieee_binary32_0w_tags_4[0]), /* 1 */
816 asn_DEF_ieee_binary32_0w_tags_4, /* Same as above */
817 sizeof(asn_DEF_ieee_binary32_0w_tags_4)
818 /sizeof(asn_DEF_ieee_binary32_0w_tags_4[0]), /* 1 */
819 { 0, 0, ieee_binary32_0w_4_constraint },
820 0, 0, /* No members */
821 &asn_SPC_ieee_binary32_0w_specs_4 /* Additional specs */
822};
823
824static const asn_NativeReal_specifics_t asn_SPC_ieee_binary32_w0_specs_5 = {
825 4 /* Use 'float' type. */
826};
827static const ber_tlv_tag_t asn_DEF_ieee_binary32_w0_tags_5[] = {
828 (ASN_TAG_CLASS_UNIVERSAL | (9 << 2))
829};
830static /* Use -fall-defs-global to expose */
831asn_TYPE_descriptor_t asn_DEF_ieee_binary32_w0_5 = {
832 "ieee-binary32-w0",
833 "ieee-binary32-w0",
834 &asn_OP_REAL,
835 asn_DEF_ieee_binary32_w0_tags_5,
836 sizeof(asn_DEF_ieee_binary32_w0_tags_5)
837 /sizeof(asn_DEF_ieee_binary32_w0_tags_5[0]), /* 1 */
838 asn_DEF_ieee_binary32_w0_tags_5, /* Same as above */
839 sizeof(asn_DEF_ieee_binary32_w0_tags_5)
840 /sizeof(asn_DEF_ieee_binary32_w0_tags_5[0]), /* 1 */
841 { 0, 0, ieee_binary32_w0_5_constraint },
842 0, 0, /* No members */
843 &asn_SPC_ieee_binary32_w0_specs_5 /* Additional specs */
844};
845
846static asn_TYPE_member_t asn_MBR_Test_1[] = {
847 { ATF_NOFLAGS, 0, offsetof(struct Test, indirect_ieee_binary32),
848 .tag = (ASN_TAG_CLASS_UNIVERSAL | (9 << 2)),
849 .tag_mode = 0,
850 .type = &asn_DEF_Indirect_IEEE_binary32,
851 .type_selector = 0,
852 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
853 .default_value = 0,
854 .name = "indirect-ieee-binary32"
855 },
856 { ATF_NOFLAGS, 0, offsetof(struct Test, ieee_binary32_w),
857 .tag = (ASN_TAG_CLASS_UNIVERSAL | (9 << 2)),
858 .tag_mode = 0,
859 .type = &asn_DEF_IEEE_binary32_w,
860 .type_selector = 0,
861 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
862 .default_value = 0,
863 .name = "ieee-binary32-w"
864 },
865 { ATF_NOFLAGS, 0, offsetof(struct Test, ieee_binary32_0w),
866 .tag = (ASN_TAG_CLASS_UNIVERSAL | (9 << 2)),
867 .tag_mode = 0,
868 .type = &asn_DEF_IEEE_binary32_0w,
869 .type_selector = 0,
870 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
871 .default_value = 0,
872 .name = "ieee-binary32-0w"
873 },
874 { ATF_NOFLAGS, 0, offsetof(struct Test, ieee_binary32_w0),
875 .tag = (ASN_TAG_CLASS_UNIVERSAL | (9 << 2)),
876 .tag_mode = 0,
877 .type = &asn_DEF_IEEE_binary32_w0,
878 .type_selector = 0,
879 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
880 .default_value = 0,
881 .name = "ieee-binary32-w0"
882 },
883 { ATF_NOFLAGS, 0, offsetof(struct Test, ieee_binary64_w),
884 .tag = (ASN_TAG_CLASS_UNIVERSAL | (9 << 2)),
885 .tag_mode = 0,
886 .type = &asn_DEF_IEEE_binary64_w,
887 .type_selector = 0,
888 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
889 .default_value = 0,
890 .name = "ieee-binary64-w"
891 },
892 { ATF_NOFLAGS, 0, offsetof(struct Test, ieee_binary64_0w),
893 .tag = (ASN_TAG_CLASS_UNIVERSAL | (9 << 2)),
894 .tag_mode = 0,
895 .type = &asn_DEF_IEEE_binary64_0w,
896 .type_selector = 0,
897 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
898 .default_value = 0,
899 .name = "ieee-binary64-0w"
900 },
901 { ATF_NOFLAGS, 0, offsetof(struct Test, ieee_binary64_w0),
902 .tag = (ASN_TAG_CLASS_UNIVERSAL | (9 << 2)),
903 .tag_mode = 0,
904 .type = &asn_DEF_IEEE_binary64_w0,
905 .type_selector = 0,
906 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
907 .default_value = 0,
908 .name = "ieee-binary64-w0"
909 },
910};
911static const ber_tlv_tag_t asn_DEF_Test_tags_1[] = {
912 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
913};
914static const asn_TYPE_tag2member_t asn_MAP_Test_tag2el_1[] = {
915 { (ASN_TAG_CLASS_UNIVERSAL | (9 << 2)), 0, 0, 6 }, /* indirect-ieee-binary32 */
916 { (ASN_TAG_CLASS_UNIVERSAL | (9 << 2)), 1, -1, 5 }, /* ieee-binary32-w */
917 { (ASN_TAG_CLASS_UNIVERSAL | (9 << 2)), 2, -2, 4 }, /* ieee-binary32-0w */
918 { (ASN_TAG_CLASS_UNIVERSAL | (9 << 2)), 3, -3, 3 }, /* ieee-binary32-w0 */
919 { (ASN_TAG_CLASS_UNIVERSAL | (9 << 2)), 4, -4, 2 }, /* ieee-binary64-w */
920 { (ASN_TAG_CLASS_UNIVERSAL | (9 << 2)), 5, -5, 1 }, /* ieee-binary64-0w */
921 { (ASN_TAG_CLASS_UNIVERSAL | (9 << 2)), 6, -6, 0 } /* ieee-binary64-w0 */
922};
923static asn_SEQUENCE_specifics_t asn_SPC_Test_specs_1 = {
924 sizeof(struct Test),
925 offsetof(struct Test, _asn_ctx),
926 .tag2el = asn_MAP_Test_tag2el_1,
927 .tag2el_count = 7, /* Count of tags in the map */
928 0, 0, 0, /* Optional elements (not needed) */
929 -1, /* Start extensions */
930 -1 /* Stop extensions */
931};
932asn_TYPE_descriptor_t asn_DEF_Test = {
933 "Test",
934 "Test",
935 &asn_OP_SEQUENCE,
936 asn_DEF_Test_tags_1,
937 sizeof(asn_DEF_Test_tags_1)
938 /sizeof(asn_DEF_Test_tags_1[0]), /* 1 */
939 asn_DEF_Test_tags_1, /* Same as above */
940 sizeof(asn_DEF_Test_tags_1)
941 /sizeof(asn_DEF_Test_tags_1[0]), /* 1 */
942 { 0, 0, SEQUENCE_constraint },
943 asn_MBR_Test_1,
944 7, /* Elements count */
945 &asn_SPC_Test_specs_1 /* Additional specs */
946};
947