aboutsummaryrefslogtreecommitdiff
path: root/contrib/int8/int8.c
diff options
context:
space:
mode:
authorBruce Momjian <bruce@momjian.us>1999-10-09 01:08:51 +0000
committerBruce Momjian <bruce@momjian.us>1999-10-09 01:08:51 +0000
commit16b996d1058e5effe456cd57c76f2e402f17108e (patch)
treef930ab6f01f5be8e23b9b356d9d0eb6a5a785b9a /contrib/int8/int8.c
parent440c913d42e50640998dd1f5e527cd9a235bb3ea (diff)
downloadpostgresql-16b996d1058e5effe456cd57c76f2e402f17108e.tar.gz
postgresql-16b996d1058e5effe456cd57c76f2e402f17108e.zip
Remove contrib/int8.
Diffstat (limited to 'contrib/int8/int8.c')
-rw-r--r--contrib/int8/int8.c378
1 files changed, 0 insertions, 378 deletions
diff --git a/contrib/int8/int8.c b/contrib/int8/int8.c
deleted file mode 100644
index 23c3a0c13c8..00000000000
--- a/contrib/int8/int8.c
+++ /dev/null
@@ -1,378 +0,0 @@
-/*-------------------------------------------------------------------------
- *
- * int8.c--
- * Internal 64-bit integer operations
- *
- *-------------------------------------------------------------------------
- */
-#include <stdio.h> /* for sprintf proto, etc. */
-#include <stdlib.h> /* for strtod, etc. */
-#include <string.h>
-#include <ctype.h>
-#include <time.h>
-#include <math.h>
-#include <float.h>
-#include <limits.h>
-
-#include "postgres.h"
-#include "utils/palloc.h"
-
-#define MAXINT8LEN 25
-
-#if defined(__alpha) || defined(__GNUC__)
-#define HAVE_64BIT_INTS 1
-#endif
-
-#ifndef HAVE_64BIT_INTS
-typedef char[8]
-int64;
-
-#elif defined(__alpha)
-typedef long int int64;
-
-#define INT64_FORMAT "%ld"
-
-#elif defined(__GNUC__)
-typedef long long int int64;
-
-#define INT64_FORMAT "%Ld"
-
-#else
-typedef long int int64;
-
-#define INT64_FORMAT "%ld"
-#endif
-
-int64 *int8in(char *str);
-char *int8out(int64 *val);
-
-bool int8eq(int64 *val1, int64 *val2);
-bool int8ne(int64 *val1, int64 *val2);
-bool int8lt(int64 *val1, int64 *val2);
-bool int8gt(int64 *val1, int64 *val2);
-bool int8le(int64 *val1, int64 *val2);
-bool int8ge(int64 *val1, int64 *val2);
-
-bool int84eq(int64 *val1, int32 val2);
-bool int84ne(int64 *val1, int32 val2);
-bool int84lt(int64 *val1, int32 val2);
-bool int84gt(int64 *val1, int32 val2);
-bool int84le(int64 *val1, int32 val2);
-bool int84ge(int64 *val1, int32 val2);
-
-int64 *int8um(int64 *val);
-int64 *int8pl(int64 *val1, int64 *val2);
-int64 *int8mi(int64 *val1, int64 *val2);
-int64 *int8mul(int64 *val1, int64 *val2);
-int64 *int8div(int64 *val1, int64 *val2);
-
-int64 *int48(int32 val);
-int32 int84(int64 *val);
-
-#if FALSE
-int64 *int28 (int16 val);
-int16 int82(int64 *val);
-
-#endif
-
-float64 i8tod(int64 *val);
-int64 *dtoi8(float64 val);
-
-/***********************************************************************
- **
- ** Routines for 64-bit integers.
- **
- ***********************************************************************/
-
-/*----------------------------------------------------------
- * Formatting and conversion routines.
- *---------------------------------------------------------*/
-
-/* int8in()
- */
-int64 *
-int8in(char *str)
-{
- int64 *result = palloc(sizeof(int64));
-
-#if HAVE_64BIT_INTS
- if (!PointerIsValid(str))
- elog(ERROR, "Bad (null) int8 external representation", NULL);
-
- if (sscanf(str, INT64_FORMAT, result) != 1)
- elog(ERROR, "Bad int8 external representation '%s'", str);
-
-#else
- elog(ERROR, "64-bit integers are not supported", NULL);
- result = NULL;
-#endif
-
- return (result);
-} /* int8in() */
-
-
-/* int8out()
- */
-char *
-int8out(int64 *val)
-{
- char *result;
-
- int len;
- char buf[MAXINT8LEN + 1];
-
-#if HAVE_64BIT_INTS
- if (!PointerIsValid(val))
- return (NULL);
-
- if ((len = snprintf(buf, MAXINT8LEN, INT64_FORMAT, *val)) < 0)
- elog(ERROR, "Unable to format int8", NULL);
-
- result = palloc(len + 1);
-
- strcpy(result, buf);
-
-#else
- elog(ERROR, "64-bit integers are not supported", NULL);
- result = NULL;
-#endif
-
- return (result);
-} /* int8out() */
-
-
-/*----------------------------------------------------------
- * Relational operators for int8s.
- *---------------------------------------------------------*/
-
-/* int8relop()
- * Is val1 relop val2?
- */
-bool
-int8eq(int64 *val1, int64 *val2)
-{
- return (*val1 == *val2);
-} /* int8eq() */
-
-bool
-int8ne(int64 *val1, int64 *val2)
-{
- return (*val1 != *val2);
-} /* int8ne() */
-
-bool
-int8lt(int64 *val1, int64 *val2)
-{
- return (*val1 < *val2);
-} /* int8lt() */
-
-bool
-int8gt(int64 *val1, int64 *val2)
-{
- return (*val1 > *val2);
-} /* int8gt() */
-
-bool
-int8le(int64 *val1, int64 *val2)
-{
- return (*val1 <= *val2);
-} /* int8le() */
-
-bool
-int8ge(int64 *val1, int64 *val2)
-{
- return (*val1 >= *val2);
-} /* int8ge() */
-
-
-/* int84relop()
- * Is 64-bit val1 relop 32-bit val2?
- */
-bool
-int84eq(int64 *val1, int32 val2)
-{
- return (*val1 == val2);
-} /* int84eq() */
-
-bool
-int84ne(int64 *val1, int32 val2)
-{
- return (*val1 != val2);
-} /* int84ne() */
-
-bool
-int84lt(int64 *val1, int32 val2)
-{
- return (*val1 < val2);
-} /* int84lt() */
-
-bool
-int84gt(int64 *val1, int32 val2)
-{
- return (*val1 > val2);
-} /* int84gt() */
-
-bool
-int84le(int64 *val1, int32 val2)
-{
- return (*val1 <= val2);
-} /* int84le() */
-
-bool
-int84ge(int64 *val1, int32 val2)
-{
- return (*val1 >= val2);
-} /* int84ge() */
-
-
-/*----------------------------------------------------------
- * Arithmetic operators on 64-bit integers.
- *---------------------------------------------------------*/
-
-int64 *
-int8um(int64 *val)
-{
- int64 *result = palloc(sizeof(int64));
-
- if (!PointerIsValid(val))
- return NULL;
-
- *result = (-*val);
-
- return (result);
-} /* int8um() */
-
-int64 *
-int8pl(int64 *val1, int64 *val2)
-{
- int64 *result = palloc(sizeof(int64));
-
- if ((!PointerIsValid(val1)) || (!PointerIsValid(val2)))
- return NULL;
-
- *result = *val1 + *val2;
-
- return (result);
-} /* int8pl() */
-
-int64 *
-int8mi(int64 *val1, int64 *val2)
-{
- int64 *result = palloc(sizeof(int64));
-
- if ((!PointerIsValid(val1)) || (!PointerIsValid(val2)))
- return NULL;
-
- *result = *val1 - *val2;
-
- return (result);
-} /* int8mi() */
-
-int64 *
-int8mul(int64 *val1, int64 *val2)
-{
- int64 *result = palloc(sizeof(int64));
-
- if ((!PointerIsValid(val1)) || (!PointerIsValid(val2)))
- return NULL;
-
- *result = *val1 * *val2;
-
- return (result);
-} /* int8mul() */
-
-int64 *
-int8div(int64 *val1, int64 *val2)
-{
- int64 *result = palloc(sizeof(int64));
-
- if ((!PointerIsValid(val1)) || (!PointerIsValid(val2)))
- return NULL;
-
- *result = *val1 / *val2;
-
- return (result);
-} /* int8div() */
-
-
-/*----------------------------------------------------------
- * Conversion operators.
- *---------------------------------------------------------*/
-
-int64 *
-int48(int32 val)
-{
- int64 *result = palloc(sizeof(int64));
-
- *result = val;
-
- return (result);
-} /* int48() */
-
-int32
-int84(int64 *val)
-{
- int32 result;
-
- if (!PointerIsValid(val))
- elog(ERROR, "Invalid (null) int64, can't convert int8 to int4", NULL);
-
- if ((*val < INT_MIN) || (*val > INT_MAX))
- elog(ERROR, "int8 conversion to int4 is out of range", NULL);
-
- result = *val;
-
- return (result);
-} /* int84() */
-
-#if FALSE
-int64 *
-int28 (int16 val)
-{
- int64 *result;
-
- if (!PointerIsValid(result = palloc(sizeof(int64))))
- elog(ERROR, "Memory allocation failed, can't convert int8 to int2", NULL);
-
- *result = val;
-
- return (result);
-} /* int28() */
-
-int16
-int82(int64 *val)
-{
- int16 result;
-
- if (!PointerIsValid(val))
- elog(ERROR, "Invalid (null) int8, can't convert to int2", NULL);
-
- result = *val;
-
- return (result);
-} /* int82() */
-
-#endif
-
-float64
-i8tod(int64 *val)
-{
- float64 result = palloc(sizeof(float64data));
-
- *result = *val;
-
- return (result);
-} /* i8tod() */
-
-int64 *
-dtoi8(float64 val)
-{
- int64 *result = palloc(sizeof(int64));
-
- if ((*val < (-pow(2, 64) + 1)) || (*val > (pow(2, 64) - 1)))
- elog(ERROR, "Floating point conversion to int64 is out of range", NULL);
-
- *result = *val;
-
- return (result);
-} /* dtoi8() */