---
title: SumLn
description: "计算向量中所有元素的自然对数之和。"
url: https://www.hikunpeng.com/document/detail/zh/kunpengboostkithistory/240RC2/accel/kunpengaccel_hmpp_06_0099.html
sourcePath: /source/zh/kunpengboostkithistory/240RC2/accel/kunpengaccel_hmpp_06_0099.html
indexId: b69975c8ce7bd41c440144e81f97479bdfc14e8381106300969ca105180554d077
---
# SumLn

计算向量中所有元素的自然对数之和。

计算公式为：。

函数接口声明如下：

- 浮点数的操作：
  HmppResult HMPPS_SumLn_32f(const float* src, int32_t len, float* sum);

  HmppResult HMPPS_SumLn_64f(const double* src, int32_t len, double* sum);

- 浮点数的变长操作：
  HmppResult HMPPS_SumLn_32f64f(const float* src, int32_t len, double* sum);

- 整型数转浮点数的操作：
  HmppResult HMPPS_SumLn_16s32f(const int16_t* src, int32_t len, float* sum);


#### 参数

| 参数名 | 描述 | 取值范围 | 输入/输出 |
| --- | --- | --- | --- |
| src | 指向源向量的指针。 | 非空 | 输入 |
| len | 向量长度。 | (0,INT\_MAX] | 输入 |
| sum | 指向结果的指针。 | 非空 | 输出 |


#### 返回值

- 成功：返回HMPP_STS_NO_ERR。
- 失败：返回错误码。


#### 错误码

| 错误码 | 描述 |
| --- | --- |
| HMPP\_STS\_NULL\_PTR\_ERR | src、sum这两个入参中存在空指针。 |
| HMPP\_STS\_SIZE\_ERR | len小于或等于0。 |


#### 示例

```
#define  BUFFER_SIZE_T 10
void SumLnExample(void)
{
float src[BUFFER_SIZE_T] = {11.44, 0.07, 10.23, 8.78, 0.30, 1.72, 1.37, 3.39, 7.37, 7.40};
float dst = 0.00;
HmppResult result = HMPPS_SumLn_32f(src, BUFFER_SIZE_T, &dst);
printf("result = %d\n", result);
if (result != HMPP_STS_NO_ERR) {
return;
}
printf("dst = %.2f \n", dst);
}
```

运行结果：

```
result = 0
dst = 5954088960.00
```
