The C types defined for the Complex Multiplier C model are listed in the following table.
| Name | Type | Description |
|---|---|---|
| xip_real | Double | Base data type for small width configurations 1 |
| xip_complex | Struct {re,im} xip_real | Base element of operands for small width configurations 1 |
| xip_uint | Unsigned int |
Used for configuration parameter of integer or Boolean type. For Boolean: 0=false 1=true |
| xip_mpz | Mpz_t 2 | Base data type for larger width configurations 1 |
| xip_mpz_complex | Struct {re, im} xip_mpz | Base element of operand for larger width configurations 1 |
| xip_array_complex | Struct | Structure to hold data for input to the complex multiplier (A or B operands) or output for small configurations 1 |
| xip_array_mpz_complex | Struct | Structure to hold data for input to the complex multiplier (A or B operands) or output for larger configurations. |
| xip_array_uint | Struct | Structure to hold data for input to the complex multiplier (ROUND operand). |
| xip_cmpy_v6_0_status | Int | Error code return from many C model functions. 0 indicates success. Any other value indicates failure. |
| xip_status | Int | Same as xip_cmpy_v6_0_status but used for functions which are not core-specific. |
| xip_real | Double | |
| xip_cmpy_v6_0_config | Struct | The configuration of the core itself. The members of this structure are listed in the cmpy_v6_0_bitacc_cmodel file. The names closely match the same names in XCI files. The cmpy_v6_0_bitacc_cmodel file also contains #defined values for all. |
| xip_cmpy_v6_0 | Struct | Type defined which C (not C++) can use as a handle (pointer) to a C++ object – the C model itself. |
|
||
The xip_array_complex, xip_array_mpz_complex and xip_array_uint data types are structures with the following members:
- data
- A pointer to the array of data values.
- data_size
- Of type size_t, which describes the total size of the data array.
- data_capacity
- Also of type size_t, which describes how much of the array is currently populated.
- dim
- A pointer to a size_t array of values which indicate the size of each dimension.
- dim_size (size_t)
- Indicates the number of dimensions of the data array.
- dim_capacity
- Indicates how much of the dimension array is currently populated.
- owner
- This unsigned int member is provided as a handle for when the data structure is intended to be passed from one core to another, but is not used by any of the Complex Multiplier C model functions.