o-du/phy
Intel O-RAN/X-RAN Generated Doxygen Documentation
common_typedef_xran.h
Go to the documentation of this file.
1 /******************************************************************************
2 *
3 * Copyright (c) 2019 Intel.
4 *
5 * Licensed under the Apache License, Version 2.0 (the "License");
6 * you may not use this file except in compliance with the License.
7 * You may obtain a copy of the License at
8 *
9 * http://www.apache.org/licenses/LICENSE-2.0
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 *
17 *******************************************************************************/
18 
23 #ifndef _COMMON_TYPEDEF_XRAN_H_
24 #define _COMMON_TYPEDEF_XRAN_H_
25 
26 #include <stdint.h>
27 
28 #include <stdio.h>
29 #include <stdbool.h>
30 
35 typedef struct {
36  float re;
37  float im;
38 } COMPLEX32;
39 
41 
46 typedef struct {
47  int16_t re;
48  int16_t im;
51 
56 typedef struct {
57  int32_t re;
58  int32_t im;
60 
65 typedef struct {
66  float re;
67  float im;
69 
74 typedef struct {
75  double re;
76  double im;
78 
85 typedef int16_t half;
86 
91 typedef struct {
92  half re;
93  half im;
95 
100 typedef enum{
103  AVX,
107 
121 };
122 
123 
124 #ifdef _WIN64
125 #define __align(x) __declspec(align(x))
126 #else
127 #define __align(x) __attribute__((aligned(x)))
128 #define _aligned_malloc(x,y) memalign(y,x)
129 #endif
130 
131 /* Test time and loops for unit test */
132 #define TIME 40
133 #define LOOP 30
134 
135 #endif /* #ifndef _COMMON_TYPEDEF_H_ */
136 
Defines 64-bit complex structure; both real part and image part have 32 bit width.
Defines 64-bit complex structure; both real part and image part have 32 bit width.
Defines 32-bit complex structure; both real part and image part have 16 bit width.
Defines 32-bit complex structure; both real part and image part have 16 bit width.
Defines 128-bit complex structure; both real part and image part have 64 bit width.
bblib_modulation_order
Common enums for modulation order.
struct complex_int16_t COMPLEX16
int16_t half
half is a 16-bit IEEE floating-point standard number format.
instruction_cpu_support
Define instruction the CPU can support.
Defines 64-bit complex structure; both real part and image part have 32 bit width.