【发布时间】:2020-09-17 15:55:34
【问题描述】:
我正在编写一个矩阵初始化方法,该方法用用户可以选择的随机数分布中的 T 类型的随机数填充 T 类型的矩阵。我的实现文件的部分看起来像
// file name: Matrix.h
#include <random>
typedef std::default_random_engine rnd_eng;
template<class T, int N, int M>
class Matrix{
private:
/* private members here */
public:
Matrix<T, N, M>();
/* other constructors */
~/Matrix<T, N, M>();
void init_all(T value); // initializes all elements of Matrix NxM to value
void init_Random(rnd_eng, USER RANDOM NUMBER DISTRIBUTION HERE);
};
/*
Ideally I would have something that looks like the following in a main.cpp file
rnd_eng engine(1);
std::uniform_real_distribution real_dist(1.0f, 1.0f);
std::uniform_int_distribution int_dist(1, 9);
Matrix<float, 32, 64> my_mat_a;
Matrix<int, 128, 256> my_mat_b;
my_mat_a.init_Random(engine, real_dist);
my_mat_b.init_Random(engine, int_dist);
*/
我想知道用什么来代替“这里的用户随机数分布”。你们有什么建议吗?如果这是一个基本问题,我们深表歉意。
** 编辑:希望让我的问题更清楚
【问题讨论】:
-
嗯,到底是什么问题?