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

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

#### 接口定义

int kml_float_spline_init(kml_float_spline *spline, const float xarr[], const float yarr[], const size_t size)

int kml_double_spline_init(kml_double_spline *spline, const double xarr[], const double yarr[], size_t size);


#### 参数

| 参数名 | 类型 | 描述 | 输入/输出 |
| --- | --- | --- | --- |
| spline | kml\_float\_spline\* / kml\_double\_spline\* | 指向插值对象的指针。 | 输出 |
| 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_spline *spline = kml_float_spline_alloc(kml_float_interp_cspline, xSize);
kml_float_spline_init(spline, xArr, yArr, xSize);
```
