From 1adbd8d2c0f67b8bd2fcc442af7acd34a8bbb40c Mon Sep 17 00:00:00 2001 From: Chris Hanson Date: Tue, 28 Dec 1993 18:20:48 +0000 Subject: [PATCH] Use FOLD-LEFT instead of REDUCE to do n-ary versions of GCD and LCM -- REDUCE returns a negative number if there is a single negative argument, which is incorrect. --- v7/src/runtime/arith.scm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/v7/src/runtime/arith.scm b/v7/src/runtime/arith.scm index ff8746420..56c8e4ed5 100644 --- a/v7/src/runtime/arith.scm +++ b/v7/src/runtime/arith.scm @@ -1,8 +1,8 @@ #| -*-Scheme-*- -$Id: arith.scm,v 1.26 1993/02/01 01:31:05 cph Exp $ +$Id: arith.scm,v 1.27 1993/12/28 18:20:48 cph Exp $ -Copyright (c) 1989-1992 Massachusetts Institute of Technology +Copyright (c) 1989-93 Massachusetts Institute of Technology This material was developed by the Scheme project at the Massachusetts Institute of Technology, Department of Electrical Engineering and @@ -1834,10 +1834,10 @@ MIT in each case. |# (define-integrable integer-divide-remainder cdr) (define (gcd . integers) - (reduce complex:gcd 0 integers)) + (fold-left complex:gcd 0 integers)) (define (lcm . integers) - (reduce complex:lcm 1 integers)) + (fold-left complex:lcm 1 integers)) (define numerator complex:numerator) (define denominator complex:denominator) -- 2.25.1