| PROP_NUMBER(3) | Library Functions Manual | PROP_NUMBER(3) |
prop_number,
prop_number_create_integer,
prop_number_create_unsigned_integer,
prop_number_copy,
prop_number_size,
prop_number_unsigned,
prop_number_integer_value,
prop_number_unsigned_integer_value,
prop_number_equals,
prop_number_equals_integer,
prop_number_equals_unsigned_integer —
#include <prop/proplib.h>
prop_number_t
prop_number_create_integer(int64_t
val);
prop_number_t
prop_number_create_unsigned_integer(uint64_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);
int64_t
prop_number_integer_value(prop_number_t
number);
uint64_t
prop_number_unsigned_integer_value(prop_number_t
number);
bool
prop_number_equals(prop_number_t
num1, prop_number_t
num2);
bool
prop_number_equals_integer(prop_number_t
number, int64_t
val);
bool
prop_number_equals_unsigned_integer(prop_number_t
number, uint64_t
val);
prop_number() family of functions operate on a
numeric value property object type. Values are either signed or unsigned, and
promoted to a 64-bit type (int64_t or uint64_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:
INT64_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_integer(int64_t
val)NULL on
failure.prop_number_create_unsigned_integer(uint64_t
val)NULL on
failure.prop_number_copy(prop_number_t
number)NULL is returned.prop_number_size(prop_number_t
number)NULL is returned.prop_number_unsigned(prop_number_t
number)true if the numeric value object has an
unsigned value.prop_number_integer_value(prop_number_t
number)prop_number_unsigned_integer_value(prop_number_t
number)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_integer(prop_number_t
number, int64_t val)true if the object's value is equivalent
to the signed value val. If the supplied object
isn't a numerical value or if val exceeds
INT64_MAX, false is
returned.prop_number_equals_unsigned_integer(prop_number_t
number, uint64_t val)true if the object's value is equivalent
to the unsigned value val. If the supplied object
isn't a numerical value or if val exceeds
INT64_MAX, false is
returned.| January 21, 2008 | NetBSD 9.2 |