IQMathLibrary  1.0
Functions
_IQNmpyIQX.c File Reference

Detailed Description

Functions to multiply two IQ numbers in different IQ formats, returning the product in a third IQ format. The result is neither rounded nor saturated, so if the product is greater than the minimum or maximum values for the given output IQ format, the return value will wrap around and produce inaccurate results.



#include <stdint.h>
#include "../support/support.h"
#include "_IQNtables.h"
Include dependency graph for _IQNmpyIQX.c:

Functions

__STATIC_INLINE int_fast32_t __IQNmpyIQX (int_fast32_t a, int n1, int_fast32_t b, int n2, int8_t q_value)
 Multiply two IQ numbers in different IQ formats, returning the product in a third IQ format. More...
 
int32_t _IQ30mpyIQX (int32_t a, int n1, int32_t b, int n2)
 Multiply two IQ numbers in different IQ formats, returning the product in IQ30 format. More...
 
int32_t _IQ29mpyIQX (int32_t a, int n1, int32_t b, int n2)
 Multiply two IQ numbers in different IQ formats, returning the product in IQ29 format. More...
 
int32_t _IQ28mpyIQX (int32_t a, int n1, int32_t b, int n2)
 Multiply two IQ numbers in different IQ formats, returning the product in IQ28 format. More...
 
int32_t _IQ27mpyIQX (int32_t a, int n1, int32_t b, int n2)
 Multiply two IQ numbers in different IQ formats, returning the product in IQ27 format. More...
 
int32_t _IQ26mpyIQX (int32_t a, int n1, int32_t b, int n2)
 Multiply two IQ numbers in different IQ formats, returning the product in IQ26 format. More...
 
int32_t _IQ25mpyIQX (int32_t a, int n1, int32_t b, int n2)
 Multiply two IQ numbers in different IQ formats, returning the product in IQ25 format. More...
 
int32_t _IQ24mpyIQX (int32_t a, int n1, int32_t b, int n2)
 Multiply two IQ numbers in different IQ formats, returning the product in IQ24 format. More...
 
int32_t _IQ23mpyIQX (int32_t a, int n1, int32_t b, int n2)
 Multiply two IQ numbers in different IQ formats, returning the product in IQ23 format. More...
 
int32_t _IQ22mpyIQX (int32_t a, int n1, int32_t b, int n2)
 Multiply two IQ numbers in different IQ formats, returning the product in IQ22 format. More...
 
int32_t _IQ21mpyIQX (int32_t a, int n1, int32_t b, int n2)
 Multiply two IQ numbers in different IQ formats, returning the product in IQ21 format. More...
 
int32_t _IQ20mpyIQX (int32_t a, int n1, int32_t b, int n2)
 Multiply two IQ numbers in different IQ formats, returning the product in IQ20 format. More...
 
int32_t _IQ19mpyIQX (int32_t a, int n1, int32_t b, int n2)
 Multiply two IQ numbers in different IQ formats, returning the product in IQ19 format. More...
 
int32_t _IQ18mpyIQX (int32_t a, int n1, int32_t b, int n2)
 Multiply two IQ numbers in different IQ formats, returning the product in IQ18 format. More...
 
int32_t _IQ17mpyIQX (int32_t a, int n1, int32_t b, int n2)
 Multiply two IQ numbers in different IQ formats, returning the product in IQ17 format. More...
 
int32_t _IQ16mpyIQX (int32_t a, int n1, int32_t b, int n2)
 Multiply two IQ numbers in different IQ formats, returning the product in IQ16 format. More...
 
int32_t _IQ15mpyIQX (int32_t a, int n1, int32_t b, int n2)
 Multiply two IQ numbers in different IQ formats, returning the product in IQ15 format. More...
 
int32_t _IQ14mpyIQX (int32_t a, int n1, int32_t b, int n2)
 Multiply two IQ numbers in different IQ formats, returning the product in IQ14 format. More...
 
int32_t _IQ13mpyIQX (int32_t a, int n1, int32_t b, int n2)
 Multiply two IQ numbers in different IQ formats, returning the product in IQ13 format. More...
 
int32_t _IQ12mpyIQX (int32_t a, int n1, int32_t b, int n2)
 Multiply two IQ numbers in different IQ formats, returning the product in IQ12 format. More...
 
int32_t _IQ11mpyIQX (int32_t a, int n1, int32_t b, int n2)
 Multiply two IQ numbers in different IQ formats, returning the product in IQ11 format. More...
 
int32_t _IQ10mpyIQX (int32_t a, int n1, int32_t b, int n2)
 Multiply two IQ numbers in different IQ formats, returning the product in IQ10 format. More...
 
int32_t _IQ9mpyIQX (int32_t a, int n1, int32_t b, int n2)
 Multiply two IQ numbers in different IQ formats, returning the product in IQ9 format. More...
 
int32_t _IQ8mpyIQX (int32_t a, int n1, int32_t b, int n2)
 Multiply two IQ numbers in different IQ formats, returning the product in IQ8 format. More...
 
int32_t _IQ7mpyIQX (int32_t a, int n1, int32_t b, int n2)
 Multiply two IQ numbers in different IQ formats, returning the product in IQ7 format. More...
 
int32_t _IQ6mpyIQX (int32_t a, int n1, int32_t b, int n2)
 Multiply two IQ numbers in different IQ formats, returning the product in IQ6 format. More...
 
int32_t _IQ5mpyIQX (int32_t a, int n1, int32_t b, int n2)
 Multiply two IQ numbers in different IQ formats, returning the product in IQ5 format. More...
 
int32_t _IQ4mpyIQX (int32_t a, int n1, int32_t b, int n2)
 Multiply two IQ numbers in different IQ formats, returning the product in IQ4 format. More...
 
int32_t _IQ3mpyIQX (int32_t a, int n1, int32_t b, int n2)
 Multiply two IQ numbers in different IQ formats, returning the product in IQ3 format. More...
 
int32_t _IQ2mpyIQX (int32_t a, int n1, int32_t b, int n2)
 Multiply two IQ numbers in different IQ formats, returning the product in IQ2 format. More...
 
int32_t _IQ1mpyIQX (int32_t a, int n1, int32_t b, int n2)
 Multiply two IQ numbers in different IQ formats, returning the product in IQ1 format. More...
 

Function Documentation

§ __IQNmpyIQX()

__STATIC_INLINE int_fast32_t __IQNmpyIQX ( int_fast32_t  a,
int  n1,
int_fast32_t  b,
int  n2,
int8_t  q_value 
)

Multiply two IQ numbers in different IQ formats, returning the product in a third IQ format.

Parameters
aIQN1 type value input to be multiplied.
n1IQ format for first value.
bIQN2 type value input to be multiplied.
n2IQ format for second value.
q_valueIQ format for result.
Returns
IQN type result of the multiplication.

Referenced by _IQ10mpyIQX(), _IQ11mpyIQX(), _IQ12mpyIQX(), _IQ13mpyIQX(), _IQ14mpyIQX(), _IQ15mpyIQX(), _IQ16mpyIQX(), _IQ17mpyIQX(), _IQ18mpyIQX(), _IQ19mpyIQX(), _IQ1mpyIQX(), _IQ20mpyIQX(), _IQ21mpyIQX(), _IQ22mpyIQX(), _IQ23mpyIQX(), _IQ24mpyIQX(), _IQ25mpyIQX(), _IQ26mpyIQX(), _IQ27mpyIQX(), _IQ28mpyIQX(), _IQ29mpyIQX(), _IQ2mpyIQX(), _IQ30mpyIQX(), _IQ3mpyIQX(), _IQ4mpyIQX(), _IQ5mpyIQX(), _IQ6mpyIQX(), _IQ7mpyIQX(), _IQ8mpyIQX(), and _IQ9mpyIQX().

§ _IQ30mpyIQX()

int32_t _IQ30mpyIQX ( int32_t  a,
int  n1,
int32_t  b,
int  n2 
)

Multiply two IQ numbers in different IQ formats, returning the product in IQ30 format.

Parameters
aIQN1 type value input to be multiplied.
n1IQ format for first value.
bIQN2 type value input to be multiplied.
n2IQ format for second value.
Returns
IQ30 type result of the multiplication.

References __IQNmpyIQX().

§ _IQ29mpyIQX()

int32_t _IQ29mpyIQX ( int32_t  a,
int  n1,
int32_t  b,
int  n2 
)

Multiply two IQ numbers in different IQ formats, returning the product in IQ29 format.

Parameters
aIQN1 type value input to be multiplied.
n1IQ format for first value.
bIQN2 type value input to be multiplied.
n2IQ format for second value.
Returns
IQ29 type result of the multiplication.

References __IQNmpyIQX().

§ _IQ28mpyIQX()

int32_t _IQ28mpyIQX ( int32_t  a,
int  n1,
int32_t  b,
int  n2 
)

Multiply two IQ numbers in different IQ formats, returning the product in IQ28 format.

Parameters
aIQN1 type value input to be multiplied.
n1IQ format for first value.
bIQN2 type value input to be multiplied.
n2IQ format for second value.
Returns
IQ28 type result of the multiplication.

References __IQNmpyIQX().

§ _IQ27mpyIQX()

int32_t _IQ27mpyIQX ( int32_t  a,
int  n1,
int32_t  b,
int  n2 
)

Multiply two IQ numbers in different IQ formats, returning the product in IQ27 format.

Parameters
aIQN1 type value input to be multiplied.
n1IQ format for first value.
bIQN2 type value input to be multiplied.
n2IQ format for second value.
Returns
IQ27 type result of the multiplication.

References __IQNmpyIQX().

§ _IQ26mpyIQX()

int32_t _IQ26mpyIQX ( int32_t  a,
int  n1,
int32_t  b,
int  n2 
)

Multiply two IQ numbers in different IQ formats, returning the product in IQ26 format.

Parameters
aIQN1 type value input to be multiplied.
n1IQ format for first value.
bIQN2 type value input to be multiplied.
n2IQ format for second value.
Returns
IQ26 type result of the multiplication.

References __IQNmpyIQX().

§ _IQ25mpyIQX()

int32_t _IQ25mpyIQX ( int32_t  a,
int  n1,
int32_t  b,
int  n2 
)

Multiply two IQ numbers in different IQ formats, returning the product in IQ25 format.

Parameters
aIQN1 type value input to be multiplied.
n1IQ format for first value.
bIQN2 type value input to be multiplied.
n2IQ format for second value.
Returns
IQ25 type result of the multiplication.

References __IQNmpyIQX().

§ _IQ24mpyIQX()

int32_t _IQ24mpyIQX ( int32_t  a,
int  n1,
int32_t  b,
int  n2 
)

Multiply two IQ numbers in different IQ formats, returning the product in IQ24 format.

Parameters
aIQN1 type value input to be multiplied.
n1IQ format for first value.
bIQN2 type value input to be multiplied.
n2IQ format for second value.
Returns
IQ24 type result of the multiplication.

References __IQNmpyIQX().

§ _IQ23mpyIQX()

int32_t _IQ23mpyIQX ( int32_t  a,
int  n1,
int32_t  b,
int  n2 
)

Multiply two IQ numbers in different IQ formats, returning the product in IQ23 format.

Parameters
aIQN1 type value input to be multiplied.
n1IQ format for first value.
bIQN2 type value input to be multiplied.
n2IQ format for second value.
Returns
IQ23 type result of the multiplication.

References __IQNmpyIQX().

§ _IQ22mpyIQX()

int32_t _IQ22mpyIQX ( int32_t  a,
int  n1,
int32_t  b,
int  n2 
)

Multiply two IQ numbers in different IQ formats, returning the product in IQ22 format.

Parameters
aIQN1 type value input to be multiplied.
n1IQ format for first value.
bIQN2 type value input to be multiplied.
n2IQ format for second value.
Returns
IQ22 type result of the multiplication.

References __IQNmpyIQX().

§ _IQ21mpyIQX()

int32_t _IQ21mpyIQX ( int32_t  a,
int  n1,
int32_t  b,
int  n2 
)

Multiply two IQ numbers in different IQ formats, returning the product in IQ21 format.

Parameters
aIQN1 type value input to be multiplied.
n1IQ format for first value.
bIQN2 type value input to be multiplied.
n2IQ format for second value.
Returns
IQ21 type result of the multiplication.

References __IQNmpyIQX().

§ _IQ20mpyIQX()

int32_t _IQ20mpyIQX ( int32_t  a,
int  n1,
int32_t  b,
int  n2 
)

Multiply two IQ numbers in different IQ formats, returning the product in IQ20 format.

Parameters
aIQN1 type value input to be multiplied.
n1IQ format for first value.
bIQN2 type value input to be multiplied.
n2IQ format for second value.
Returns
IQ20 type result of the multiplication.

References __IQNmpyIQX().

§ _IQ19mpyIQX()

int32_t _IQ19mpyIQX ( int32_t  a,
int  n1,
int32_t  b,
int  n2 
)

Multiply two IQ numbers in different IQ formats, returning the product in IQ19 format.

Parameters
aIQN1 type value input to be multiplied.
n1IQ format for first value.
bIQN2 type value input to be multiplied.
n2IQ format for second value.
Returns
IQ19 type result of the multiplication.

References __IQNmpyIQX().

§ _IQ18mpyIQX()

int32_t _IQ18mpyIQX ( int32_t  a,
int  n1,
int32_t  b,
int  n2 
)

Multiply two IQ numbers in different IQ formats, returning the product in IQ18 format.

Parameters
aIQN1 type value input to be multiplied.
n1IQ format for first value.
bIQN2 type value input to be multiplied.
n2IQ format for second value.
Returns
IQ18 type result of the multiplication.

References __IQNmpyIQX().

§ _IQ17mpyIQX()

int32_t _IQ17mpyIQX ( int32_t  a,
int  n1,
int32_t  b,
int  n2 
)

Multiply two IQ numbers in different IQ formats, returning the product in IQ17 format.

Parameters
aIQN1 type value input to be multiplied.
n1IQ format for first value.
bIQN2 type value input to be multiplied.
n2IQ format for second value.
Returns
IQ17 type result of the multiplication.

References __IQNmpyIQX().

§ _IQ16mpyIQX()

int32_t _IQ16mpyIQX ( int32_t  a,
int  n1,
int32_t  b,
int  n2 
)

Multiply two IQ numbers in different IQ formats, returning the product in IQ16 format.

Parameters
aIQN1 type value input to be multiplied.
n1IQ format for first value.
bIQN2 type value input to be multiplied.
n2IQ format for second value.
Returns
IQ16 type result of the multiplication.

References __IQNmpyIQX().

§ _IQ15mpyIQX()

int32_t _IQ15mpyIQX ( int32_t  a,
int  n1,
int32_t  b,
int  n2 
)

Multiply two IQ numbers in different IQ formats, returning the product in IQ15 format.

Parameters
aIQN1 type value input to be multiplied.
n1IQ format for first value.
bIQN2 type value input to be multiplied.
n2IQ format for second value.
Returns
IQ15 type result of the multiplication.

References __IQNmpyIQX().

§ _IQ14mpyIQX()

int32_t _IQ14mpyIQX ( int32_t  a,
int  n1,
int32_t  b,
int  n2 
)

Multiply two IQ numbers in different IQ formats, returning the product in IQ14 format.

Parameters
aIQN1 type value input to be multiplied.
n1IQ format for first value.
bIQN2 type value input to be multiplied.
n2IQ format for second value.
Returns
IQ14 type result of the multiplication.

References __IQNmpyIQX().

§ _IQ13mpyIQX()

int32_t _IQ13mpyIQX ( int32_t  a,
int  n1,
int32_t  b,
int  n2 
)

Multiply two IQ numbers in different IQ formats, returning the product in IQ13 format.

Parameters
aIQN1 type value input to be multiplied.
n1IQ format for first value.
bIQN2 type value input to be multiplied.
n2IQ format for second value.
Returns
IQ13 type result of the multiplication.

References __IQNmpyIQX().

§ _IQ12mpyIQX()

int32_t _IQ12mpyIQX ( int32_t  a,
int  n1,
int32_t  b,
int  n2 
)

Multiply two IQ numbers in different IQ formats, returning the product in IQ12 format.

Parameters
aIQN1 type value input to be multiplied.
n1IQ format for first value.
bIQN2 type value input to be multiplied.
n2IQ format for second value.
Returns
IQ12 type result of the multiplication.

References __IQNmpyIQX().

§ _IQ11mpyIQX()

int32_t _IQ11mpyIQX ( int32_t  a,
int  n1,
int32_t  b,
int  n2 
)

Multiply two IQ numbers in different IQ formats, returning the product in IQ11 format.

Parameters
aIQN1 type value input to be multiplied.
n1IQ format for first value.
bIQN2 type value input to be multiplied.
n2IQ format for second value.
Returns
IQ11 type result of the multiplication.

References __IQNmpyIQX().

§ _IQ10mpyIQX()

int32_t _IQ10mpyIQX ( int32_t  a,
int  n1,
int32_t  b,
int  n2 
)

Multiply two IQ numbers in different IQ formats, returning the product in IQ10 format.

Parameters
aIQN1 type value input to be multiplied.
n1IQ format for first value.
bIQN2 type value input to be multiplied.
n2IQ format for second value.
Returns
IQ10 type result of the multiplication.

References __IQNmpyIQX().

§ _IQ9mpyIQX()

int32_t _IQ9mpyIQX ( int32_t  a,
int  n1,
int32_t  b,
int  n2 
)

Multiply two IQ numbers in different IQ formats, returning the product in IQ9 format.

Parameters
aIQN1 type value input to be multiplied.
n1IQ format for first value.
bIQN2 type value input to be multiplied.
n2IQ format for second value.
Returns
IQ9 type result of the multiplication.

References __IQNmpyIQX().

§ _IQ8mpyIQX()

int32_t _IQ8mpyIQX ( int32_t  a,
int  n1,
int32_t  b,
int  n2 
)

Multiply two IQ numbers in different IQ formats, returning the product in IQ8 format.

Parameters
aIQN1 type value input to be multiplied.
n1IQ format for first value.
bIQN2 type value input to be multiplied.
n2IQ format for second value.
Returns
IQ8 type result of the multiplication.

References __IQNmpyIQX().

§ _IQ7mpyIQX()

int32_t _IQ7mpyIQX ( int32_t  a,
int  n1,
int32_t  b,
int  n2 
)

Multiply two IQ numbers in different IQ formats, returning the product in IQ7 format.

Parameters
aIQN1 type value input to be multiplied.
n1IQ format for first value.
bIQN2 type value input to be multiplied.
n2IQ format for second value.
Returns
IQ7 type result of the multiplication.

References __IQNmpyIQX().

§ _IQ6mpyIQX()

int32_t _IQ6mpyIQX ( int32_t  a,
int  n1,
int32_t  b,
int  n2 
)

Multiply two IQ numbers in different IQ formats, returning the product in IQ6 format.

Parameters
aIQN1 type value input to be multiplied.
n1IQ format for first value.
bIQN2 type value input to be multiplied.
n2IQ format for second value.
Returns
IQ6 type result of the multiplication.

References __IQNmpyIQX().

§ _IQ5mpyIQX()

int32_t _IQ5mpyIQX ( int32_t  a,
int  n1,
int32_t  b,
int  n2 
)

Multiply two IQ numbers in different IQ formats, returning the product in IQ5 format.

Parameters
aIQN1 type value input to be multiplied.
n1IQ format for first value.
bIQN2 type value input to be multiplied.
n2IQ format for second value.
Returns
IQ5 type result of the multiplication.

References __IQNmpyIQX().

§ _IQ4mpyIQX()

int32_t _IQ4mpyIQX ( int32_t  a,
int  n1,
int32_t  b,
int  n2 
)

Multiply two IQ numbers in different IQ formats, returning the product in IQ4 format.

Parameters
aIQN1 type value input to be multiplied.
n1IQ format for first value.
bIQN2 type value input to be multiplied.
n2IQ format for second value.
Returns
IQ4 type result of the multiplication.

References __IQNmpyIQX().

§ _IQ3mpyIQX()

int32_t _IQ3mpyIQX ( int32_t  a,
int  n1,
int32_t  b,
int  n2 
)

Multiply two IQ numbers in different IQ formats, returning the product in IQ3 format.

Parameters
aIQN1 type value input to be multiplied.
n1IQ format for first value.
bIQN2 type value input to be multiplied.
n2IQ format for second value.
Returns
IQ3 type result of the multiplication.

References __IQNmpyIQX().

§ _IQ2mpyIQX()

int32_t _IQ2mpyIQX ( int32_t  a,
int  n1,
int32_t  b,
int  n2 
)

Multiply two IQ numbers in different IQ formats, returning the product in IQ2 format.

Parameters
aIQN1 type value input to be multiplied.
n1IQ format for first value.
bIQN2 type value input to be multiplied.
n2IQ format for second value.
Returns
IQ2 type result of the multiplication.

References __IQNmpyIQX().

§ _IQ1mpyIQX()

int32_t _IQ1mpyIQX ( int32_t  a,
int  n1,
int32_t  b,
int  n2 
)

Multiply two IQ numbers in different IQ formats, returning the product in IQ1 format.

Parameters
aIQN1 type value input to be multiplied.
n1IQ format for first value.
bIQN2 type value input to be multiplied.
n2IQ format for second value.
Returns
IQ1 type result of the multiplication.

References __IQNmpyIQX().

© Copyright 1995-2023, Texas Instruments Incorporated. All rights reserved.
Trademarks | Privacy policy | Terms of use | Terms of sale