通常我使用内置的随机函数生成值,但现在我需要创建以下形式的随机分布
f(x) = k*log(x) + m
Run Code Online (Sandbox Code Playgroud)
是否可以定义自定义随机分布函数?对于我的实际模型,我有x = [1, 1.4e7), k = -0.905787102751, m = 14.913170454. 理想情况下,我希望它能够像当前内置发行版一样工作:
int main()
{
std::mt19937 generator;
std::uniform_real_distribution<> dist(0.0, 1.0);
my_distribution my_dist(0.0, 10.0); // Distribution using f(x)
double uni_val = dist(generator);
double log_val = my_dist(generator);
}
Run Code Online (Sandbox Code Playgroud) 我正在 Jupyter Notebook 上处理客户和购买数据。\n我在上面轻松地编写和执行代码,但突然间,它的速度变慢了,甚至需要很长时间才能执行一个简单的代码,例如print('A'). 最糟糕的是它没有向我显示任何错误,所以我完全不知道 Jupyter Notebook 或我的代码出了什么问题。
原始数据有点大。我合并了两个数据集,分别有 424,699 行和 22 列,总共有 4,308,392 行和 39 列。
\n\nThe versions:\nPython \xe2\x86\x92 3.7.4\nJupyter Notebook \xe2\x86\x92 6.0.0\nwindows 10 pro\nRun Code Online (Sandbox Code Playgroud)\n\n我只是想提高 Jupyter Notebook 的执行速度。
\n以下构造函数是否被认为是微不足道的?
struct A
{
A() : a(nullptr) {}
private:
int* a;
};
Run Code Online (Sandbox Code Playgroud)
这些例子让我有点困惑.使用c ++ 11,这也应该是可能的:
struct A
{
private:
int* a{nullptr};
};
Run Code Online (Sandbox Code Playgroud)
并a应正确初始化为nullptr.这里我没有定义构造函数,但它应该与第一个实现具有相同的形式.这些课程中的任何一个都被视为微不足道的吗
我问的目的是我是否可以预期自动生成移动/复制构造函数和赋值运算符.
我用列中的数据处理一些数据,比如
1 -0.004002415458937208 0.0035676328502415523
2 -0.004002415796209478 0.0035676331876702957
....
Run Code Online (Sandbox Code Playgroud)
我只对最后两个值感兴趣.我通常觉得读取值很方便:
std::ifstream file(file_name);
double a, b;
for (lines) {
// | throwing away the first value by reading it to `a`
file >> a >> a >> b;
store(a, b);
}
Run Code Online (Sandbox Code Playgroud)
我不确定这对其他人有多可读,当数据结构未知时,可能会将其视为错误.我能以某种方式使它看起来更明确,我真的想扔掉第一个读取值吗?
我想要一些这方面的东西,但没有任何效果:
file >> double() >> a >> b; // I hoped I could create some r-value kind of thing and discard the data in there
file >> NULL >> a >> b;
Run Code Online (Sandbox Code Playgroud) 我一直试图将这个问题弄清楚很长时间,但无法让事情发挥作用.我只想编译/运行我的OpenGL程序,但我的着色器没有正确链接,我没有得到任何有用的错误消息.在一种情况下,错误纯粹是空的,而在另一种情况下,它是??y?出于某种原因.
要创建我的程序并编译我的着色器,我有以下代码:
GLuint buildProgram(const char* vertexShaderFile, const char* fragmentShaderFile)
{
std::string vs = fileContents(vertexShaderFile);
std::string fs = fileContents(fragmentShaderFile);
return createProgram(vs.c_str(), fs.c_str());
}
Run Code Online (Sandbox Code Playgroud)
着色器看起来像
#version 330
out vec4 out_color;
void main()
{
out_color = vec4(0.5, 0.5, 0.5, 0.5);
}
#version 330
in vec4 in_Position;
void main()
{
gl_Position = in_Position;
}
Run Code Online (Sandbox Code Playgroud)
同
GLuint createProgram(const char* vertexSource, const char* fragmentSource)
{
GLuint vertexshader = createShader(vertexSource, GL_VERTEX_SHADER);
GLuint fragmentshader = createShader(fragmentSource, GL_FRAGMENT_SHADER);
GLuint program = glCreateProgram();
glAttachShader(program, vertexshader);
glAttachShader(program, fragmentshader);
glLinkProgram(program); …Run Code Online (Sandbox Code Playgroud)