---
title: jn
description: "计算入参的Bessel n阶第一类函数，入参为实数。"
url: https://www.hikunpeng.com/document/detail/zh/hpchistory/hpckit/develop2400/kunpengaccel_kml_0228.html
sourcePath: /source/zh/hpchistory/hpckit/develop2400/kunpengaccel_kml_0228.html
indexId: 0ea8886631abba3f9cb639a12b8a770e5cc66ee2f86fc89b3b5831da892e9a0467
---
# 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
     */
```
