📄 test.cpp
字号:
#include "stdio.h"
#include"iluk.h"
int main()
{
struct Distmatrix *dm;
struct Preconmat *precon;
int i,j,m;
double s;
dm=(struct Distmatrix *)malloc(sizeof(struct Distmatrix));
dm->ma=(double**)malloc(4*sizeof(double*));
dm->ja=(int **)malloc(4*sizeof(int*));
dm->nnzrow=(int *)malloc(4*sizeof(int*));
precon=(struct Preconmat *)malloc(sizeof(struct Preconmat));
precon->L=(FacLU *)malloc(sizeof(FacLU));
precon->U=(FacLU *)malloc(sizeof(FacLU));
for(i=0;i<3;i++)
{
dm->ma[i]=(double *)malloc(3*sizeof(double));
dm->ja[i]=(int *)malloc(3*sizeof(int));
dm->nnzrow[i]=3;
}
dm->ma[i]=(double *)malloc(2*sizeof(double));
dm->ja[i]=(int *)malloc(2*sizeof(int));
dm->nnzrow[i]=2;
dm->dimension=4;
dm->ma[0][0]=4.0;
dm->ma[0][1]=1.0;
dm->ma[0][2]=2.0;
dm->ma[1][0]=1.0;
dm->ma[1][1]=3.0;
dm->ma[1][2]=2.0;
dm->ma[2][0]=1.0;
dm->ma[2][1]=4.0;
dm->ma[2][2]=2.0;
dm->ma[3][0]=1.0;
dm->ma[3][1]=3.0;
dm->ja[0][0]=0;
dm->ja[0][1]=1;
dm->ja[0][2]=2;
dm->ja[1][0]=0;
dm->ja[1][1]=1;
dm->ja[1][2]=3;
dm->ja[2][0]=1;
dm->ja[2][1]=2;
dm->ja[2][2]=3;
dm->ja[3][0]=0;
dm->ja[3][1]=3;
iluk(dm,precon,0);
printf("The Low triangular part L:\n");
for(i=0;i<4;i++)
{
for(j=0;j<precon->L->nnzrow[i];j++)
{
m=precon->L->ja[i][j]+1;
s=precon->L->ma[i][j];
printf("(%d,%d) entry is :%f\n",i+1,m,s);
}
}
printf("\n\n");
printf("The upper triangular part U:\n");
for(i=0;i<4;i++)
{
for(j=0;j<precon->U->nnzrow[i];j++)
{
m=precon->U->ja[i][j]+1;
s=precon->U->ma[i][j];
printf("(%d,%d) entry is :%f\n",i+1,m,s);
}
}
getchar();
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -