From ab786f6299b86aa9e58e7e9a5d664faa4de7eb85 Mon Sep 17 00:00:00 2001 From: Bruce Momjian Date: Sat, 23 Feb 2002 01:01:30 +0000 Subject: [PATCH] Make factorial(0) return 1, as per spec. --- src/backend/utils/adt/int.c | 6 ++++-- src/backend/utils/adt/int8.c | 6 ++++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/src/backend/utils/adt/int.c b/src/backend/utils/adt/int.c index e04ae89cea..99c6155847 100644 --- a/src/backend/utils/adt/int.c +++ b/src/backend/utils/adt/int.c @@ -8,7 +8,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/utils/adt/int.c,v 1.47 2001/06/07 00:09:29 momjian Exp $ + * $Header: /cvsroot/pgsql/src/backend/utils/adt/int.c,v 1.48 2002/02/23 01:01:30 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -784,7 +784,9 @@ int4fac(PG_FUNCTION_ARGS) int32 arg1 = PG_GETARG_INT32(0); int32 result; - if (arg1 < 1) + if (arg1 == 0) + result = 1; + else if (arg1 < 1) result = 0; else for (result = 1; arg1 > 0; --arg1) diff --git a/src/backend/utils/adt/int8.c b/src/backend/utils/adt/int8.c index 380e023823..6a5eb15d74 100644 --- a/src/backend/utils/adt/int8.c +++ b/src/backend/utils/adt/int8.c @@ -7,7 +7,7 @@ * Portions Copyright (c) 1994, Regents of the University of California * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/utils/adt/int8.c,v 1.36 2001/11/24 19:57:06 tgl Exp $ + * $Header: /cvsroot/pgsql/src/backend/utils/adt/int8.c,v 1.37 2002/02/23 01:01:30 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -515,7 +515,9 @@ int8fac(PG_FUNCTION_ARGS) int64 result; int64 i; - if (arg1 < 1) + if (arg1 == 0) + result = 1; + else if (arg1 < 1) result = 0; else for (i = arg1, result = 1; i > 0; --i)