blob: f018ec02dd7c2808e6140df60fff050bafcfeca8 [file] [log] [blame]
Lev Walkin026e21a2017-10-04 00:49:01 -07001
2-- OK: Everything is fine
3
4-- iso.org.dod.internet.private.enterprise (1.3.6.1.4.1)
5-- .spelio.software.asn1c.test (9363.1.5.1)
6-- .154
7
8ModuleREALWithComponents
9 { iso org(3) dod(6) internet(1) private(4) enterprise(1)
10 spelio(9363) software(1) asn1c(5) test(1) 154 }
11DEFINITIONS ::= BEGIN
12
13 UnconstrainedREAL ::= REAL
14
15 WeirdlyConstrainedREAL ::= REAL (3, ...) -- Not really constrained
16
Lev Walkinb5450702017-10-04 02:52:57 -070017 Indirect-IEEE-binary32 ::= UnconstrainedREAL (WITH COMPONENTS {
18 mantissa (-16777215..16777215),
Lev Walkinc44edc02017-10-04 03:28:38 -070019 base (2), exponent (-323..292)})
Lev Walkinb5450702017-10-04 02:52:57 -070020
Lev Walkin026e21a2017-10-04 00:49:01 -070021 -- X.696 (08/2005) #12.2 and #12.3
22
23 -- IEEE 754 encoding single precision
24 IEEE-binary32-w ::= REAL (WITH COMPONENTS {
25 mantissa (-16777215..16777215),
Lev Walkinc44edc02017-10-04 03:28:38 -070026 base (2), exponent (-323..292)})
Lev Walkin026e21a2017-10-04 00:49:01 -070027
28 IEEE-binary32-0w ::= REAL (0 | WITH COMPONENTS {
29 mantissa (-16777215..16777215),
Lev Walkinc44edc02017-10-04 03:28:38 -070030 base (2), exponent (-323..292)})
Lev Walkin026e21a2017-10-04 00:49:01 -070031
32 IEEE-binary32-w0 ::= REAL (WITH COMPONENTS {
33 mantissa (-16777215..16777215),
Lev Walkinc44edc02017-10-04 03:28:38 -070034 base (2), exponent (-323..292)} | 0)
Lev Walkin026e21a2017-10-04 00:49:01 -070035
36 -- IEEE 754 encoding double precision
37 IEEE-binary64-w ::= REAL (WITH COMPONENTS {
38 mantissa (-9007199254740991..9007199254740991),
Lev Walkinc44edc02017-10-04 03:28:38 -070039 base (2), exponent (-1074..971)})
Lev Walkin026e21a2017-10-04 00:49:01 -070040
41 IEEE-binary64-0w ::= REAL (0 | WITH COMPONENTS {
42 mantissa (-9007199254740991..9007199254740991),
Lev Walkinc44edc02017-10-04 03:28:38 -070043 base (2), exponent (-1074..971)})
Lev Walkin026e21a2017-10-04 00:49:01 -070044
45 IEEE-binary64-w0 ::= REAL (WITH COMPONENTS {
46 mantissa (-9007199254740991..9007199254740991),
Lev Walkinc44edc02017-10-04 03:28:38 -070047 base (2), exponent (-1074..971)} | 0)
Lev Walkin026e21a2017-10-04 00:49:01 -070048
Lev Walkinb5450702017-10-04 02:52:57 -070049 Test ::= SEQUENCE {
50 indirect-ieee-binary32 Indirect-IEEE-binary32,
51 ieee-binary32-w IEEE-binary32-w,
52 ieee-binary32-0w IEEE-binary32-0w,
53 ieee-binary32-w0 IEEE-binary32-w0,
54 ieee-binary64-w IEEE-binary64-w,
55 ieee-binary64-0w IEEE-binary64-0w,
56 ieee-binary64-w0 IEEE-binary64-w0
57 }
58
Lev Walkin026e21a2017-10-04 00:49:01 -070059END