小编ter*_*ett的帖子

如何将 Rust 中的范围转换为切片?

我想在 Rust 中创建一定范围内的数字切片。但是,以下语法似乎不起作用,因为输出是长度为 1 的切片,由对象组成Range

let count = 10;
let slice = [0..count/2];
Run Code Online (Sandbox Code Playgroud)

从范围内创建 Rust 切片的正确方法是什么?

rust

2
推荐指数
1
解决办法
1673
查看次数

如何实现 Rng 和 RngCore 以便对自定义结构类型进行采样?

我有以下代码,我尝试在其中实现RngRngCore定义类型。

#[cfg(test)]
use rand::{Rng, RngCore};

pub const FP751_NUM_WORDS: usize = 12;

#[repr(C)]
#[derive(Copy, Clone)]
pub struct Fp751Element(pub (crate) [u64; FP751_NUM_WORDS]);

#[cfg(test)]
impl RngCore for Fp751Element {
    fn next_u64(&mut self) -> u64 {
        self.next_u64()
    }
}

#[cfg(test)]
impl Rng for Fp751Element {
    fn gen<Fp751Element>(&mut self) -> Fp751Element {
        let high_limb = self.next_u64() % 246065832128056;

        Fp751Element([
            self.next_u64(),
            self.next_u64(),
            self.next_u64(),
            self.next_u64(),
            self.next_u64(),
            self.next_u64(),
            self.next_u64(),
            self.next_u64(),
            self.next_u64(),
            self.next_u64(),
            self.next_u64(),
            high_limb
        ])
    }
}
Run Code Online (Sandbox Code Playgroud)

我想实现这些特征,因为我稍后想将其quickcheck::Arbitrary与我的类型一起使用。但是,上面的类型代码在行中抛出以下错误impl Rng for Fp751Element …

random rust

0
推荐指数
1
解决办法
586
查看次数

标签 统计

rust ×2

random ×1