---
title: kml_?_interp_init
description: "初始化插值对象interp。数据(xarr, yarr)中，xarr是大小为xsize的数组，yarr是函数结果数组，大小为xsize。插值对象（kml_float_interp，kml_double_interp）不保存xarr，yarr的数据数组，它只存有从数据中计算出的静态状态。xarr数据数组必须是严格升序排列的。"
url: https://www.hikunpeng.com/document/detail/zh/kunpenghpcs/hpckit/devg/kunpengaccel_kml_0511.html
sourcePath: /source/zh/kunpenghpcs/hpckit/devg/kunpengaccel_kml_0511.html
indexId: 69851a9c76255d8d823eb6752f6f44143a0047798ab430f8629315720d3f6f3d61
---
# kml_?_interp_init

初始化插值对象interp。数据(xarr, yarr)中，xarr是大小为xsize的数组，yarr是函数结果数组，大小为xsize。插值对象（kml_float_interp，kml_double_interp）不保存xarr，yarr的数据数组，它只存有从数据中计算出的静态状态。xarr数据数组必须是严格升序排列的。

#### 接口定义

int kml_float_interp_init(kml_float_interp *interp, const float xarr[], const float yarr[], const size_t size)

int kml_double_interp_init(kml_double_interp *interp, const double xarr[], const double yarr[], size_t size);


#### 参数

| 参数名 | 类型 | 描述 | 输入/输出 |
| --- | --- | --- | --- |
| interp | kml\_float\_interp\* / kml\_double\_interp\* | 指向插值对象的指针。 | 输出 |
| xarr | float类型数组 / double类型数组 | 存有x值的数组。 | 输入 |
| yarr | float类型数组 / double类型数组 | 存有y值的数组。 | 输入 |
| size | size\_t | x数组长度。 | 输入 |


#### 依赖

#include "kipl.h"


#### 示例

```
const size_t xSize = 4;
float xArr[4] = {1,1.33,1.67,2};
float* yArr = (float*)malloc(xSize * sizeof(float));
kml_float_interp *interp = kml_float_interp_alloc(kml_float_interp_cspline, xSize);
kml_float_interp_init(interp, xArr, yArr, xSize);
```
