imcs.c
/* align returned memory on 16-byte boundary to allow use of SSE vector instructions.
 * This memory should not be deallocated using imcs_free
 */
align returned memory on 16-byte boundary to allow use of SSE vector instructions.
This memory should not be deallocated using imcs_free
align returned memory on 16 - byte boundary to allow use of SSE vector instructions . This memory should not be deallocated using imcs_free
void* imcs_alloc_aligned(size_t size)
{
    char* ptr;
    imcs_alloc_mutex->lock(imcs_alloc_mutex);
    ptr = (char*)MemoryContextAlloc(imcs_mem_ctx, size + 16);
    ptr += -(size_t)ptr & 15;
    imcs_alloc_mutex->unlock(imcs_alloc_mutex);
    return ptr;
}
void * imcs_alloc_aligned ( size_t size ) { char * ptr ; imcs_alloc_mutex -> lock ( imcs_alloc_mutex ) ; ptr = ( char * ) MemoryContextAlloc ( imcs_mem_ctx , size + 16 ) ; ptr += - ( size_t ) ptr & 15 ; imcs_alloc_mutex -> unlock ( imcs_alloc_mutex ) ; return ptr ; }
align returned memory on 16-byte boundary to allow use of SSE vector instructions.
align returned memory on 16 - byte boundary to allow use of SSE vector instructions .