interface ConstBool { const boolean not_true = false; const boolean not_false = true; }; interface ConstByte { const byte imin = -128; const byte imax = 127; const octet umin = 0; const octet umax = 255; }; interface ConstShort { const short imin = -32768; const short imax = 32767; const unsigned short umin = 0; const unsigned short umax = 65535; }; interface ConstLong { const long imin = -2147483648; const long imax = 2147483647; const unsigned long umin = 0; const unsigned long umax = 4294967295; }; interface ConstLongLong { const long long imin = -9223372036854775808; const long long imax = 9223372036854775807; const unsigned long long umin = 0; const unsigned long long umax = 18446744073709551615; }; interface ConstFloats { const float f = 0.0; const unrestricted float neg_inf = -Infinity; const unrestricted float inf = Infinity; const unrestricted float nan = NaN; }; interface ConstDoubles { const double d = 0.0; const unrestricted double neg_inf = -Infinity; const unrestricted double inf = Infinity; const unrestricted double nan = NaN; }; interface mixin ConstDoublesMixin { const double one = 1.0; }; ConstDoubles includes ConstDoublesMixin;