mirror of
https://github.com/Mercury-Language/mercury.git
synced 2026-04-16 18:03:36 +00:00
While these casts can be implemented by casting via uint, the resulting
code is less readable than code that uses direct casts.
library/uint32.m:
Add cast_from_uint16/1 and cast_to_uint16/1.
NEWS:
Announce the above additions.
tests/hard_coded/Mmakefile:
tests/hard_coded/uint32_uint16_casts.{m,exp}:
Add tests for the new casts.
38 lines
1.2 KiB
Plaintext
38 lines
1.2 KiB
Plaintext
cast_from_uint16(0u16) = 0u32
|
|
cast_from_uint16(7u16) = 7u32
|
|
cast_from_uint16(8u16) = 8u32
|
|
cast_from_uint16(15u16) = 15u32
|
|
cast_from_uint16(16u16) = 16u32
|
|
cast_from_uint16(31u16) = 31u32
|
|
cast_from_uint16(32u16) = 32u32
|
|
cast_from_uint16(63u16) = 63u32
|
|
cast_from_uint16(64u16) = 64u32
|
|
cast_from_uint16(127u16) = 127u32
|
|
cast_from_uint16(128u16) = 128u32
|
|
cast_from_uint16(254u16) = 254u32
|
|
cast_from_uint16(255u16) = 255u32
|
|
cast_from_uint16(32766u16) = 32766u32
|
|
cast_from_uint16(32767u16) = 32767u32
|
|
cast_from_uint16(32768u16) = 32768u32
|
|
cast_from_uint16(65534u16) = 65534u32
|
|
cast_from_uint16(65535u16) = 65535u32
|
|
|
|
cast_to_uint16(0u32) = 0u16
|
|
cast_to_uint16(7u32) = 7u16
|
|
cast_to_uint16(8u32) = 8u16
|
|
cast_to_uint16(15u32) = 15u16
|
|
cast_to_uint16(16u32) = 16u16
|
|
cast_to_uint16(31u32) = 31u16
|
|
cast_to_uint16(32u32) = 32u16
|
|
cast_to_uint16(63u32) = 63u16
|
|
cast_to_uint16(64u32) = 64u16
|
|
cast_to_uint16(127u32) = 127u16
|
|
cast_to_uint16(128u32) = 128u16
|
|
cast_to_uint16(254u32) = 254u16
|
|
cast_to_uint16(255u32) = 255u16
|
|
cast_to_uint16(32766u32) = 32766u16
|
|
cast_to_uint16(32767u32) = 32767u16
|
|
cast_to_uint16(32768u32) = 32768u16
|
|
cast_to_uint16(65534u32) = 65534u16
|
|
cast_to_uint16(65535u32) = 65535u16
|