mirror of
https://github.com/Mercury-Language/mercury.git
synced 2026-04-16 09:53: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/uint16.m:
library/uint32.m:
library/uint64.m:
Add cast_from_uint8/1 and cast_to_uint8/1 to these modules.
NEWS:
Announce the above additions.
tests/hard_coded/Mmakefile:
tests/hard_coded/uint{16,32,64}_uint_casts.{m,exp}:
Add tests for the new casts.
28 lines
759 B
Plaintext
28 lines
759 B
Plaintext
cast_from_uint8(0u8) = 0u16
|
|
cast_from_uint8(7u8) = 7u16
|
|
cast_from_uint8(8u8) = 8u16
|
|
cast_from_uint8(15u8) = 15u16
|
|
cast_from_uint8(16u8) = 16u16
|
|
cast_from_uint8(31u8) = 31u16
|
|
cast_from_uint8(32u8) = 32u16
|
|
cast_from_uint8(63u8) = 63u16
|
|
cast_from_uint8(64u8) = 64u16
|
|
cast_from_uint8(127u8) = 127u16
|
|
cast_from_uint8(128u8) = 128u16
|
|
cast_from_uint8(254u8) = 254u16
|
|
cast_from_uint8(255u8) = 255u16
|
|
|
|
cast_to_uint8(0u16) = 0u8
|
|
cast_to_uint8(7u16) = 7u8
|
|
cast_to_uint8(8u16) = 8u8
|
|
cast_to_uint8(15u16) = 15u8
|
|
cast_to_uint8(16u16) = 16u8
|
|
cast_to_uint8(31u16) = 31u8
|
|
cast_to_uint8(32u16) = 32u8
|
|
cast_to_uint8(63u16) = 63u8
|
|
cast_to_uint8(64u16) = 64u8
|
|
cast_to_uint8(127u16) = 127u8
|
|
cast_to_uint8(128u16) = 128u8
|
|
cast_to_uint8(254u16) = 254u8
|
|
cast_to_uint8(255u16) = 255u8
|