📄 maparm.h
字号:
#ifndef MAPARM#define MAPARM 1//************************************************************************// maparm - matrix operational parameters//************************************************************************struct gmatrixst
{
int item;
struct orderst *order_rowpt;
struct orderst *orderpt;
struct gmatrixst *gmatrixpt;
double element;
//修正PQ分解法系数矩阵B'分解后的元素 mdn 04-11-10
double xij;
};struct statest
{
struct orderst *orderpt;
struct linkst *linkpt; //是state的linkpt
struct statest *anchorpt;
int connection_cnt; // 连接数(与所含列数相等),节点度
int maamtrx_itm; // = mastatept->maamtrx_itm;
int maamtrx_cnt; // = mastatept->maamtrx_cnt;
int stateitm; // 行号
int cnt; // 与connection_cnt意义相同,用于校核计算
struct
{
unsigned active : 1;
unsigned hole : 1;
unsigned zero_diag : 1;
unsigned reorder : 1;
unsigned fillin_zero : 1;
unsigned spare :27;
} stat;
};
struct linkst
{
struct statest *statept;
struct orderst *orderpt;
struct linkst *linkpt;
double element;
//支路电抗倒数 mdn 04-11-10
double xij;
//
};struct orderst
{
int item;
int mastate_itm;
struct
{
unsigned active : 1;
unsigned spare : 31;
} orderstat;
double diag;
struct maamtrxst *cmtrxpt;
int cmtrxcnt;
struct gmatrixst *gmatrixpt;
int gmatrixcnt;
struct gmatrixst *gmatrix_colpt;
struct gmatrixst *gmatrix_last_colpt;
//修正PQ分解法用 mdn 04-11-11
double diag1;
//
};
//matriangstruct workst
{
int singular_mastatept;
int size;
char *basept;
struct linkst *linkpt;
struct orderst *orderpt;
struct gmatrixst *gmatrixpt;
int gmatrixitm;
struct gmatrixst *gmatrix_pt;
struct linkst *new_itempt;
struct linkst *garbagept;
struct linkst *headpt;
struct linkst *tailpt;
int nwork;
int nflop;
};
//optimstruct oporderst
{
struct opstatest *statept;
int orderitm;
};
struct numconst //存链表指针
{
struct oplinkst *linkpt;
};struct opworkst //开辟临时空间用,仅一条记录
{
int off_diagonalpt;
struct opstatest *statept;
struct oporderst *orderpt;
struct oplinkst *linkpt;
struct oplinkst *garbagept;
struct oporderst *last_orderpt;
struct oporderst *skip_orderpt;
int off_diagonal;
int num_zero_diagonal; //零对角元素数
int num_zero_fillin; //
struct
{
unsigned int overflow : 1;
unsigned int spare :31;
} stat;
};struct opstatest
{
struct oporderst *orderpt;
struct oplinkst *linkpt; //是state的linkpt
struct opstatest *anchorpt;
int connection_cnt; // 连接数(与所含列数相等),节点度
int maamtrx_itm; // = mastatept->maamtrx_itm;
int maamtrx_cnt; // = mastatept->maamtrx_cnt;
int stateitm; // 行号
int cnt; // 与connection_cnt意义相同,用于校核计算
struct
{
unsigned active : 1;
unsigned hole : 1;
unsigned zero_diag : 1;
unsigned reorder : 1;
unsigned fillin_zero : 1;
unsigned spare :27;
} stat;
};
struct oplinkst
{
struct opstatest *statept;
struct oplinkst *linkpt;
};#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -