70 lines
2.7 KiB
C
70 lines
2.7 KiB
C
|
#ifdef __cplusplus
|
|||
|
extern "C" {
|
|||
|
#endif
|
|||
|
|
|||
|
#ifndef _PDR_MATRIX_H_
|
|||
|
#define _PDR_MATRIX_H_
|
|||
|
|
|||
|
#define N 4
|
|||
|
|
|||
|
/**---------------------------------------------------------------------
|
|||
|
* Function : MatrixTrans
|
|||
|
* Description : <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD><EFBFBD>
|
|||
|
* Date : 2022/09/14 logzhan
|
|||
|
*---------------------------------------------------------------------**/
|
|||
|
void MatrixTrans(double a[N][N], double r[N][N]);
|
|||
|
|
|||
|
/**---------------------------------------------------------------------
|
|||
|
* Function : VecMatMultiply
|
|||
|
* Description : <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> r = b * a
|
|||
|
* Date : 2022/09/14 logzhan
|
|||
|
*---------------------------------------------------------------------**/
|
|||
|
void VecMatMultiply(double a[N], double b[N][N], double r[N]);
|
|||
|
|
|||
|
/**---------------------------------------------------------------------
|
|||
|
* Function : MatrixMultiply
|
|||
|
* Description : <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> r = a * b
|
|||
|
* Date : 2022/09/14 logzhan
|
|||
|
*---------------------------------------------------------------------**/
|
|||
|
void MatrixMultiply(double a[N][N], double b[N][N], double r[N][N]);
|
|||
|
|
|||
|
/**---------------------------------------------------------------------
|
|||
|
* Function : MatrixAdd
|
|||
|
* Description : <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> r = a + b, ע<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֧<EFBFBD><EFBFBD>a = a + b
|
|||
|
* Date : 2022/09/14 logzhan
|
|||
|
*---------------------------------------------------------------------**/
|
|||
|
void MatrixAdd(double a[N][N], double b[N][N], double r[N][N]);
|
|||
|
|
|||
|
/**---------------------------------------------------------------------
|
|||
|
* Function : VectorAdd
|
|||
|
* Description : <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> r = a + b, ע<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֧<EFBFBD><EFBFBD>a = a + b
|
|||
|
* Date : 2022/09/14 logzhan
|
|||
|
*---------------------------------------------------------------------**/
|
|||
|
void VectorAdd(double a[N], double b[N], double r[N]);
|
|||
|
|
|||
|
/**---------------------------------------------------------------------
|
|||
|
* Function : MatrixSub
|
|||
|
* Description : <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> r = a - b, ע<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֧<EFBFBD><EFBFBD>a = a - b
|
|||
|
* Date : 2022/09/14 logzhan
|
|||
|
*---------------------------------------------------------------------**/
|
|||
|
void MatrixSub(double a[N][N], double b[N][N], double r[N][N]);
|
|||
|
|
|||
|
/**---------------------------------------------------------------------
|
|||
|
* Function : VectorSub
|
|||
|
* Description : <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> r = a - b, ע<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֧<EFBFBD><EFBFBD>a = a - b
|
|||
|
* Date : 2022/09/14 logzhan
|
|||
|
*---------------------------------------------------------------------**/
|
|||
|
void VectorSub(double a[N], double b[N], double r[N]);
|
|||
|
|
|||
|
/**---------------------------------------------------------------------
|
|||
|
* Function : MatrixInverse
|
|||
|
* Description : <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
* Date : 2022/09/14 logzhan
|
|||
|
*---------------------------------------------------------------------**/
|
|||
|
void MatrixInverse(double(*a)[N], double(*a_inv)[N]);
|
|||
|
|
|||
|
#endif
|
|||
|
|
|||
|
#ifdef __cplusplus
|
|||
|
}
|
|||
|
#endif
|