---
title: KmlScaissCsiSetUserPreconditioner?I
description: "C Interface："
url: https://www.hikunpeng.com/document/detail/zh/kunpengaccel/math-lib/devg-kml/kunpengaccel_kml_0888.html
sourcePath: /source/zh/kunpengaccel/math-lib/devg-kml/kunpengaccel_kml_0888.html
indexId: 6eba2e08d15100624d89e0fe7d7e043c956cfbd72b1565f1de59d7c24681305c68
---
# KmlScaissCsiSetUserPreconditioner?I

#### 接口定义

C Interface：

int KmlScaissCsiSetUserPreconditionerSI(KmlScasolverTask **handle, void *ustruct, int (*fptr)(void *ustruct, float *x));

int KmlScaissCsiSetUserPreconditionerDI(KmlScasolverTask **handle, void *ustruct, int (*fptr)(void *ustruct, double *x));


#### 参数

| 参数名 | 类型 | 描述 | 输入/输出 |
| --- | --- | --- | --- |
| handle | KmlScasolverTask \*\* | 求解器句柄，传入之前步骤的变量。 | 输入/输出 |
| ustruct | void \* | 指向用户数据的指针，每次调用预条件子时作为第一个参数传递。 | 输入 |
| (\*fptr) | int | 用户自定义的函数指针，指向回调函数，该回调函数进行预条件子与其第二参数间的计算。 | 输入 |


#### 返回值

| 返回值 | 类型 | 描述 |
| --- | --- | --- |
| KMLSS\_NO\_ERROR | int | 正常执行。 |
| KMLSS\_NULL\_ARGUMENT | int | handle，fptr中存在空参数。 |


#### 依赖

#include "kml_scaiss.h"

示例代码请参见示例。
