欢迎!有关如何使用本站,请参阅关于页面以获得更多信息。
对负数的解决方案(https://dev.clojure.org/jira/browse/CLJS-417)导致浮点数出现令人厌烦的行为
(mod 2.1 3) ; => 2.0999999999999996
在这里,Clojure和标准JavaScript的除法返回预期的2.1。
两个可能的解决方案
评论者:dnolen
欢迎拉取请求。
评论者:zto
该补丁将cljs.core/mod重命名为double-mod,并将mod重定义直接调用js-mod,当两个参数同号时。它包括针对之前失败的用例的测试用例,但我还更彻底地对Clojure实现进行了测试:[链接](https://gist.github.com/aw7/a32bd69923c65bddc23fd63ee062833c)
非常感谢,你提交Clojure CA了吗?
是的,大约2小时前。
评论者:anmonteiro
异议:难道不应该是将 double-mod 函数标记为私有吗?
double-mod
我想 double-mod 甚至连作为一个独立函数存在都不必要,我已经添加了一个补丁,其中它在 mod 中内联。
mod
评论者:mfikes
伙计... 补丁中的某个东西正在杀死我们在 Travis 上运行的较旧的 JavaScriptCore。我唯一的猜测是额外的模测试可能触发了 CLJS-910,但这似乎不太可能。