【发布时间】:2012-04-17 01:23:15
【问题描述】:
使用方案我需要使用以下功能。 (所有 args 都是自然数 [0, inf) )
(define safe-div
(lambda (num denom safe)
(if (zero? denom)
safe
(div num denom))))
但是,这个函数被频繁调用并且性能不够好(速度方面)。 是否有更有效的方法来实现所需的行为(num 和 denom 的整数除法,如果 denom 为零则返回安全值)?
注意,我使用的是 Chez Scheme,但是它用于仅导入 rnrs 而不是完整 Chez 的库中。
【问题讨论】:
-
你确定你的问题在这里?
safe是做什么的? -
safe 是根据第一行问题在 [0, inf) 范围内的自然数,所以它什么也不做
-
您是否编写了一些测试来检查此例程的速度,以及它与简单的整数除法有何不同?有很多事情可能会有所作为,但您肯定需要在调整之前掌握性能。
标签: performance scheme integer-division chez-scheme