---
title: jn
description: "计算入参的Bessel n阶第一类函数，入参为实数。"
url: https://www.hikunpeng.com/document/detail/zh/kunpengboostkithistory/240RC1/accel/kunpengaccel_kml_16_0682.html
sourcePath: /source/zh/kunpengboostkithistory/240RC1/accel/kunpengaccel_kml_16_0682.html
indexId: 7cd4b627b5ae2d9a8383713f79c707f14567e332072e07e601005986f2398a8876
---
# jn

计算入参的Bessel n阶第一类函数，入参为实数。

#### 接口定义

C interface：

float jnf(int n, float x);

double jn(int n, double x);


#### 参数

| 参数名 | 类型 | 描述 | 输入/输出 |
| --- | --- | --- | --- |
| n | 在jnf中，n是整型类型。 在jn中，n是整型类型。 | 表示计算阶数。 | 输入 |
| x | 在jnf中，x是单精度浮点类型。 在jn中，x是双精度浮点类型。 | 表示输入数据的浮点值。 | 输入 |


#### 返回值

rSign = (n & (nSign ^ xSign)) * (-1)，其中nSign = n > 0?0:1，xSign = x > 0?0:1。

- 输入x为±0，返回rSign * 0。
- 输入x为±∞，返回0。
- 输入x为nan，返回nan。


#### 依赖

C: "km.h"


#### 示例

C interface：

```
printf("jn(1, 0.0) = %.15f\n", jn(1, 0.0));
printf("jn(2, -0.0) = %.15f\n", jn(2, -0.0));
printf("jn(3, 1.5) = %.15f\n", jn(3, 1.5));
printf("jn(4, -2.5) = %.15f\n", jn(4, -2.5));
printf("jn(5, INFINITY) = %.15f\n", jn(5, INFINITY));
printf("jn(6, -INFINITY) = %.15f\n", jn(6, -INFINITY));
printf("jn(7, NAN) = %.15f\n", jn(7, NAN));
/**
* jn(1, 0.0) = 0.000000000000000
* jn(2, -0.0) = 0.000000000000000
* jn(3, 1.5) = 0.060963951141140
* jn(4, -2.5) = 0.073781880054255
* jn(5, INFINITY) = 0.000000000000000
* jn(6, -INFINITY) = 0.000000000000000
* jn(7, NAN) = nan
*/
```
