MotorControlModuleSDFM_TMS3.../Projects/EFC_Application/Motor/iqmath.h

65 lines
2.1 KiB
C
Raw Permalink Normal View History

/*
*========================================================================================
* (C) Copyright 2019 <EFBFBD><EFBFBD> "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
* <EFBFBD>. <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>-<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>: iqmath.h
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> iq
*
*========================================================================================
*/
#ifndef IQMATH_H_
#define IQMATH_H_
/*
*----------------------------------------------------------------------------------------
*<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*----------------------------------------------------------------------------------------
*/
/*
*----------------------------------------------------------------------------------------
*<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*----------------------------------------------------------------------------------------
*/
#define _IQsat(A, Pos, Neg) (__fmax(((__fmin((A),(Pos)))),(Neg)))
#define _IQ(A) (A)
#define _IQmpy(A, B) ((A) * (B))
#define _IQdiv2(A) ((A) * 0.5f)
#define _IQmpy2(A) ((A) * 2.0f)
#define IQtoQ5(A) (long) ((A) * 32.0f)
#define IQtoQ6(A) (long) ((A) * 64.0f)
#define IQtoQ8(A) (long) ((A) * 256.0f)
#define IQtoQ12(A) (long) ((A) * 4096.0f)
#define Q5toIQ(A) (((float) (A)) * 0.031250f)
#define Q6toIQ(A) (((float) (A)) * 0.015625f)
#define ONEbySQRT3 0.57735026918963 /* 1/sqrt(3) */
#define ABS(x) ( ((x) >= 0) ? (x) : -(x) )
#define FABS(x) ( ((x) >= 0.0f) ? (x) : -(x) )
/*
*----------------------------------------------------------------------------------------
*<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*----------------------------------------------------------------------------------------
*/
typedef float _iq;
/*
*----------------------------------------------------------------------------------------
*<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*----------------------------------------------------------------------------------------
*/
/*
*----------------------------------------------------------------------------------------
*<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*----------------------------------------------------------------------------------------
*/
#endif /* IQMATH_H_ */