KmlIssCgSet?I?
设置迭代求解的相关参数。
接口定义
C Interface:
int KmlIssCgSetSII(KmlSolverTask **handle, enum KML_SOLVER_PARAM param, const int *data, int nd);
int KmlIssCgSetDII(KmlSolverTask **handle, enum KML_SOLVER_PARAM param, const int *data, int nd);
int KmlIssCgSetSIS(KmlSolverTask **handle, enum KML_SOLVER_PARAM param, const float *data, int nd);
int KmlIssCgSetDID(KmlSolverTask **handle, enum KML_SOLVER_PARAM param, const double *data, int nd);
参数
参数名  | 
类型  | 
描述  | 
输入/输出  | 
|---|---|---|---|
handle  | 
KmlSolverTask **  | 
求解器句柄,传入之前步骤的变量。  | 
输入/输出  | 
param  | 
enum KML_SOLVER_PARAM  | 
  | 
输入  | 
data  | 
  | 
迭代求解相关参数数组(如最大迭代次数)。  | 
输入  | 
nd  | 
int  | 
data数组元素个数。  | 
输入  | 
返回值
返回值  | 
类型  | 
描述  | 
|---|---|---|
NO_ERROR  | 
int  | 
正常执行。  | 
DATA_SIZE_ERROR  | 
int  | 
数据个数错误。  | 
KML_SOLVER_INVALID_ARGUMENT  | 
int  | 
无效的参数。  | 
依赖
#include "kml_iss.h"
示例
C Interface:
    KmlSolverTask *handle
    int n = 8;   
    double a[17] = { 1.0,1.0,2.0,9.0,2.0,1.0,-3.0,3.0,2.0,9.0,-5.0,6.0,1.0,4.0,1.0,7.0,2.0 };
    int ja[17] = { 0,3,4,1,2,3,5,2,7,3,6,4,5,5,7,6,7 };
    int ia[9] = {0, 3, 7, 9, 11, 13, 15, 16, 17};
    KmlIssCgInitDI(&handle, n, a, ja, ia);
    KML_SOLVER_PARAM param = MAX_ITERATIONS_COUNT;
    int data[] = {1000};
    double data1[] = {1e-5};
    int nd = 1;
    int ierr;
    ierr = KmlIssCgSetDII(&handle, param, data, nd);
    param = THRESHOLD;
    ierr = KmlIssCgSetDID(&handle, param, data1, nd);
父主题: CG