rav*_*ava 1 c++ floating-point
对于唯一浮点值的有效随机数生成器,我想了解有关浮点值的更多信息.我将把问题分成两部分.
我正在寻找该方法的实现:
size_t numOfFloats(const float min, const float max);
Run Code Online (Sandbox Code Playgroud)
在给定数据类型的最大精度的情况下,它考虑所有可能的浮点值.
我正在寻找该方法的实现:
vector<float> enumAllFloats(const float min, const float max);
Run Code Online (Sandbox Code Playgroud)
返回的向量的大小应始终等于我的第一个问题的方法的返回值.
如果需要,允许使用C++ 11.
您可以使用nextafterf枚举所有可表示的浮点数:
vector<float> enumAllFloats(const float tmin, const float tmax) {
vector<float> res;
for (float x = tmin; x < tmax; x = nextafterf(x, tmax))
res.push_back(x);
res.push_back(tmax);
return res;
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
322 次 |
最近记录: |