---
title: 创建随机数流函数
description: "初始化stream结构体并设置随机数种子。"
url: https://www.hikunpeng.com/document/detail/zh/kunpenghpcs/hpckit/devg/kunpengaccel_kml_0487.html
sourcePath: /source/zh/kunpenghpcs/hpckit/devg/kunpengaccel_kml_0487.html
indexId: 21f4aa70a59cf7f2278a040b8878b53c711e1fd147bcfbdca47d5c8f7d9ef81c61
---
# 创建随机数流函数

初始化stream结构体并设置随机数种子。

#### 接口定义

int vslNewStream(VSLStreamStatePtr *stream, const int brng, const unsigned seed);


#### 参数

| 参数名 | 类型 | 描述 | 输入/输出 |
| --- | --- | --- | --- |
| stream | VSLStreamStatePtr类型指针 | 指向随机数流结构体的指针。 | 输出 |
| brng | int | 随机数生成器类型。 VSL\_BRNG\_MCG31：31位乘法同余生成器 VSL\_BRNG\_MRG32K3A：带两个3阶组件的组合式多种递归生成器 VSL\_BRNG\_MCG59：59位乘法同余生成器 VSL\_BRNG\_SOBOL：Sobol低差异序列生成器 VSL\_BRNG\_MT19937：梅森旋转算法19937生成器 VSL\_BRNG\_PHILOX4X32X10：PHILOX4X32X10生成器 VSL\_BRNG\_RNDR：RNDR生成器 VSL\_BRNG\_RNDRRS：RNDRRS生成器 VSL\_BRNG\_ARS5：ARS5生成器 VSL\_BRNG\_MT2203：梅森旋转算法2203生成器 | 输入 |
| seed | unsigned | 随机数种子，为非负整数。 | 输入 |


#### 依赖

#include "krng.h"


#### 示例

```
#include <stdio.h>
#include <stdlib.h>
#include "krng.h"
int main()
{
/* initialize stream with given BRNG type and seed */
VSLStreamStatePtr stream;
unsigned seed = 42;
int errcode = vslNewStream(&stream, VSL_BRNG_MCG59, seed);
if (errcode != VSL_STATUS_OK) {
fprintf(stderr, "Failure in newstream\n");
return 0;
}
/* deinitialize the stream */
errcode = vslDeleteStream(&stream);
if (errcode != VSL_STATUS_OK) {
fprintf(stderr, "Failure in deleting stream\n");
return 0;
}
return 0;
}
```
