generate = !generate;
Run Code Online (Sandbox Code Playgroud)
我在这里的 generateGaussianNoise 函数中看到了这一点:https : //en.wikipedia.org/wiki/Box%E2%80%93Muller_transform
double generateGaussianNoise(double mu, double sigma)
{
static const double epsilon = std::numeric_limits<double>::min();
static const double two_pi = 2.0*3.14159265358979323846;
thread_local double z1;
thread_local bool generate;
generate = !generate;
Run Code Online (Sandbox Code Playgroud)
我不明白这个逻辑: variable = !variable;
来自 Python 背景。有人可以解释一下吗?
一个具体问题:我希望generate = True在这里的某个地方,但我没有看到。
两个具体问题:
if (!generate)
return z1 * sigma + mu;
Run Code Online (Sandbox Code Playgroud)
如果在这段代码之后才分配 z1 ,则此代码如何工作?