Adelsbach/VSIPL
Core Programming Reference Guide
DD-00016-015
Core

This manual is preliminary and incomplete.
While our Core implementation implements all functions given in the standard we are still working on completing this documentation.

Please refer to the VSIPL standard for a complete function reference of the Core profile until we have completed work on this documentation.

1.2.9 vsip_blockrelease_p - Release a block

vsip_scalar_f* vsip_blockrelease_f(vsip_block_f *b, vsip_scalar_bl u); 
vsip_scalar_i* vsip_blockrelease_i(vsip_block_i *b,vsip_scalar_bl u); 
vsip_scalar_bl* vsip_blockrelease_bl(vsip_block_bl *b,vsip_scalar_bl u); 
vsip_scalar_vi* vsip_blockrelease_vi(vsip_block_vi *b,vsip_scalar_bl u); 
vsip_scalar_mi* vsip_blockrelease_mi(vsip_block_mi *b,vsip_scalar_bl u);
Description

These functions release the user arrays in a block b and return a pointer to the user data array. The flag u determines whether the data must be maintained during the state change. The block must have been bound previously.

Parameters
Return Value
Error Handling

If an error occurs, the function returns NULL.

Example

vsip_block_f *float_block; 
vsip_scalar_bl maintain_data = VSIP_TRUE; 
vsip_scalar_f *float_data; 
 
// Assuming float_block has been properly initialized and bound 
float_data = vsip_blockrelease_f(float_block, maintain_data); 
 
if (float_data == NULL) { 
    // Handle error 
}