如何解决有没有更有效的方法来包装浮点数?
我一直在寻找有关如何在两个数字之间包裹浮点的示例,类似于您可以使用模数对整数进行处理的示例。我发现的示例都涉及到使用fmod来查找小数点后的余数,假设它是一个圆并进行基于pi的数学运算,而其他事情并不能完全满足我的需要。最后,我只是这样写:
float fwrap(float x,float a0,float a1)
{
float mx = max(a0,a1);
float mn = min(a0,a1);
float nw = x;
while(nw < mn) nw += mx - mn;
while(nw > mx) nw -= mx - mn;
};
它可以工作,但是我敢肯定,如果原始值离该范围太远,它将使思考速度变慢,所以有没有一种更快的方法来执行此操作而不涉及循环?
我需要做的就是在超出范围时将数字包装在一个范围内,例如,如果a0
是10而a1
是20,那么如果x
为25,则应返回15,但也应与浮点数一起使用,因此,如果x
为8.5,则应返回18.5。
解决方法
有没有更有效的方法来包装浮点数?
使用cat out | # get the output
tr -s ' ' | # squash whitespace
cut -d ' ' -f 2,3 | # select columns 2 and 3,using space as column seperator
grep -e '0/1' -e '0/2' -e '1/2' # grep only the lines that include a failure
系列。
fmod()
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。