PROP_NUMBER(3) | Library Functions Manual | PROP_NUMBER(3) |
prop_number
,
prop_number_create_signed
,
prop_number_create_unsigned
,
prop_number_copy
,
prop_number_size
,
prop_number_unsigned
,
prop_number_signed_value
,
prop_number_unsigned_value
,
prop_number_schar_value
,
prop_number_short_value
,
prop_number_int_value
,
prop_number_long_value
,
prop_number_longlong_value
,
prop_number_intptr_value
,
prop_number_int8_value
,
prop_number_int16_value
,
prop_number_int32_value
,
prop_number_int64_value
,
prop_number_uchar_value
,
prop_number_ushort_value
,
prop_number_uint_value
,
prop_number_ulong_value
,
prop_number_ulonglong_value
,
prop_number_uintptr_value
,
prop_number_uint8_value
,
prop_number_uint16_value
,
prop_number_uint32_value
,
prop_number_uint64_value
,
prop_number_equals
,
prop_number_equals_signed
,
prop_number_equals_unsigned
—
#include <prop/proplib.h>
prop_number_t
prop_number_create_signed
(intmax_t
val);
prop_number_t
prop_number_create_unsigned
(uintmax_t
val);
prop_number_t
prop_number_copy
(prop_number_t
number);
int
prop_number_size
(prop_number_t
number);
bool
prop_number_unsigned
(prop_number_t
number);
intmax_t
prop_number_signed_value
(prop_number_t
number);
uintmax_t
prop_number_usigned_value
(prop_number_t
number);
bool
prop_number_schar_value
(prop_number_t
number, signed char
*valp);
bool
prop_number_short_value
(prop_number_t
number, short
*valp);
bool
prop_number_int_value
(prop_number_t
number, int
*valp);
bool
prop_number_long_value
(prop_number_t
number, long
*valp);
bool
prop_number_longlong_value
(prop_number_t
number, long long
*valp);
bool
prop_number_intptr_value
(prop_number_t
number, intptr_t
*valp);
bool
prop_number_int8_value
(prop_number_t
number, int8_t
*valp);
bool
prop_number_int16_value
(prop_number_t
number, int16_t
*valp);
bool
prop_number_int32_value
(prop_number_t
number, int32_t
*valp);
bool
prop_number_int64_value
(prop_number_t
number, int64_t
*valp);
bool
prop_number_uchar_value
(prop_number_t
number, unsigned char
*valp);
bool
prop_number_ushort_value
(prop_number_t
number, unsigned short
*valp);
bool
prop_number_uint_value
(prop_number_t
number, unsigned int
*valp);
bool
prop_number_ulong_value
(prop_number_t
number, unsigned long
*valp);
bool
prop_number_ulonglong_value
(prop_number_t
number, unsigned long
long *valp);
bool
prop_number_uintptr_value
(prop_number_t
number, uintptr_t
*valp);
bool
prop_number_uint8_value
(prop_number_t
number, uint8_t
*valp);
bool
prop_number_uint16_value
(prop_number_t
number, uint16_t
*valp);
bool
prop_number_uint32_value
(prop_number_t
number, uint32_t
*valp);
bool
prop_number_uint64_value
(prop_number_t
number, uint64_t
*valp);
bool
prop_number_equals
(prop_number_t
num1, prop_number_t
num2);
bool
prop_number_equals_signed
(prop_number_t
number, intmax_t
val);
bool
prop_number_equals_unsigned
(prop_number_t
number, uintmax_t
val);
prop_number
family of functions operate on a numeric
value property object type. Values are either signed or unsigned, and promoted
to the maximum size integer type (intmax_t or uintmax_t, respectively).
It is possible to compare number objects that differ in sign. Such comparisons first test to see if each object is within the valid number range of the other:
INTMAX_MAX
) can be compared to signed
numbers.Number objects have a different externalized representation depending on their sign:
When numbers are internalized, the sign of the resulting number object (and thus its valid range) is determined by a set of rules evaluated in the following order:
prop_number_create_signed
(intmax_t
val)NULL
on
failure.prop_number_create_unsigned
(uintmax_t
val)NULL
on
failure.prop_number_copy
(prop_number_t
number)NULL
is returned.prop_number_size
(prop_number_t
number)prop_number_unsigned
(prop_number_t
number)true
if the numeric value object has an
unsigned value.prop_number_signed_value
(prop_number_t
number)prop_number_unsigned_value
(prop_number_t
number)prop_number_schar_value
(prop_number_t
number, signed char *valp)prop_number_short_value
(prop_number_t
number, short *valp)prop_number_int_value
(prop_number_t
number, int *valp)prop_number_long_value
(prop_number_t
number, long *valp)prop_number_longlong_value
(prop_number_t
number, long long *valp)prop_number_intptr_value
(prop_number_t
number, intptr_t *valp)prop_number_int8_value
(prop_number_t
number, int8_t *valp)prop_number_int16_value
(prop_number_t
number, int16_t *valp)prop_number_int32_value
(prop_number_t
number, int32_t *valp)prop_number_int64_value
(prop_number_t
number, int64_t *valp)prop_number_uchar_value
(prop_number_t
number, unsigned char *valp)prop_number_ushort_value
(prop_number_t
number, unsigned short *valp)prop_number_uint_value
(prop_number_t
number, unsigned int *valp)prop_number_ulong_value
(prop_number_t
number, unsigned long *valp)prop_number_ulonglong_value
(prop_number_t
number, unsigned long long *valp)prop_number_uintptr_value
(prop_number_t
number, uintptr_t *valp)prop_number_uint8_value
(prop_number_t
number, uint8_t *valp)prop_number_uint16_value
(prop_number_t
number, uint16_t *valp)prop_number_uint32_value
(prop_number_t
number, uint32_t *valp)prop_number_uint64_value
(prop_number_t
number, uint64_t *valp)true
.
Otherwise, they return false
.prop_number_equals
(prop_number_t
num1, prop_number_t num2)true
if the two numeric value objects are
equivalent. If at least one of the supplied objects isn't a numeric value,
false
is returned.prop_number_equals_signed
(prop_number_t
number, intmax_t val)true
if the object's value is equivalent
to the signed value val. If the supplied object
isn't a numerical value, false
is returned.prop_number_equals_unsigned
(prop_number_t
number, uintmax_t val)true
if the object's value is equivalent
to the unsigned value val. If the supplied object
isn't a numerical value, false
is returned.June 2, 2020 | NetBSD 10.1 |