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.0 |