Files
mercury/tests/hard_coded/uint32_uint16_casts.exp
Julien Fischer 5fa7d13b90 Add casts to and from uint32 and uint16.
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.
2022-01-03 20:03:31 +11:00

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