Name

Number coercion — Checked conversion from Lisp types to C numbers

Functions and macros

cl_fixnum ecl_to_fixnum( cl_object n);

cl_index ecl_to_unsigned_integer( cl_object n);

flaot ecl_to_float( cl_object n);

double ecl_to_double( cl_object n);

long double ecl_to_long_double( cl_object n);

float ecl_to_float( cl_object n);

int8_t ecl_to_uint8_t( cl_object n);

int8_t ecl_to_int8_t( cl_object n);

uint16_t ecl_to_uint16_t( cl_object n);

int16_t ecl_to_int16_t( cl_object n);

uint32_t ecl_to_uint32_t( cl_object n);

int32_t ecl_to_int32_t( cl_object n);

uint64_t ecl_to_uint64_t( cl_object n);

int64_t ecl_to_int64_t( cl_object n);

short ecl_to_short( cl_object n);

unsigned short ecl_to_ushort( cl_object n);

int ecl_to_int( cl_object n);

unsigned int ecl_to_uint( cl_object n);

long ecl_to_long( cl_object n);

unsigned long ecl_to_ulong( cl_object n);

long long ecl_to_long_long( cl_object n);

unsigned long long ecl_to_ulong_long( cl_object n);

Description

These functions and macros convert a Lisp object to the corresponding C number type. The conversion is done through a coercion process which may signal an error if the argument does not fit the expected type.