B | |
betoh_int | |
bigint_fixed_DECLARE, bigint_fixed_t | |
bigint_fixed_INIT, bigint_fixed_t | |
BIGINT_MAXSIZE | |
binarystack_FREE, binarystack_t | |
bitsof | |
bitsperdigit_bigint | |
bitsperint_decimal | |
blockarray_FREE, blockarray_t | |
blockarray_IMPLEMENT | |
blockmap_maincontext | |
branch_arraysfunode | |
branch_arraystfunode |
Declares type bigint_fixedNR_t.
#define bigint_fixed_DECLARE( nrdigits ) struct CONCAT(CONCAT(bigint_fixed, nrdigits),_t){ uint16_t allocated_digits ; int16_t sign_and_used_digits ; uint16_t exponent ; uint32_t digits[nrdigits] ; }
Initializes a static object of type bigint_fixed_t.
#define bigint_fixed_INIT( nrdigits, exponent, ... ) { 0, nrdigits, exponent, { __VA_ARGS__ } }
The number of digits of bigint_t which may be converted to decimal_t without overflow.
#define BIGINT_MAXSIZE ( (uint32_t)119 )
Static initializer.
#define binarystack_FREE { 0, 0, 0 }
Calculates memory size of a type in number of bits.
#define bitsof( type_t ) (8*sizeof(type_t))
Implements bigint_t.bitsperdigit_bigint.
#define bitsperdigit_bigint( ) ((uint8_t)bitsof(((bigint_t*)0)->digits[0]))
Implements decimal_t.bitsperint_decimal.
#define bitsperint_decimal( ) ((uint8_t)(bitsof(((decimal_t*)0)->digits[0])))
Static initializer.
#define blockarray_FREE { 0, 0, 0, 0, 0, 0, 0 }
Implements blockarray_t.blockarray_IMPLEMENT.
#define blockarray_IMPLEMENT( _fsuffix, object_t ) static inline int init##_fsuffix(/*out*/blockarray_t * barray, pagesize_e pagesize) __attribute__ ((always_inline)) ; static inline int free##_fsuffix(blockarray_t * barray) __attribute__ ((always_inline)) ; static inline object_t * at##_fsuffix(blockarray_t * barray, size_t arrayindex) __attribute__ ((always_inline)) ; static inline int assign##_fsuffix(blockarray_t * barray, size_t arrayindex, /*out*/object_t ** elemaddr) __attribute__ ((always_inline)) ; static inline int init##_fsuffix(/*out*/blockarray_t * barray, pagesize_e pagesize) { return init_blockarray(barray, pagesize, sizeof(object_t)) ; } static inline int free##_fsuffix(blockarray_t * barray) { return free_blockarray(barray) ; } static inline object_t * at##_fsuffix(blockarray_t * barray, size_t arrayindex) { return (object_t*)at_blockarray(barray, arrayindex) ; } static inline int assign##_fsuffix(blockarray_t * barray, size_t arrayindex, /*out*/object_t ** elemaddr) { return assign_blockarray(barray, arrayindex, (void**)elemaddr) ; }
Generates interface of blockarray storing elements of type object_t.
void blockarray_IMPLEMENT( IDNAME _fsuffix, TYPENAME object_t ) ;
Implementation of maincontext_t.blockmap_maincontext.
#define blockmap_maincontext( ) (pcontext_maincontext()->blockmap)
Implements arraysf_unode_t.branch_arraysfunode.
#define branch_arraysfunode( node ) ( __extension__ ({ arraysf_unode_t * _node1 = (node) ; (arraysf_mwaybranch_t*)(0x01 ^ (uintptr_t)(_node1)) ; }))
Implements arraystf_unode_t.branch_arraystfunode.
#define branch_arraystfunode( node ) ( __extension__ ({ arraystf_unode_t * _node1 = (node) ; (arraystf_mwaybranch_t*) (0x01 ^ (uintptr_t)(_node1)); }))