1 /*------------------------------------------------------------------------- 2 * 3 * int8.h 4 * Declarations for operations on 64-bit integers. 5 * 6 * 7 * Portions Copyright (c) 1996-2016, PostgreSQL Global Development Group 8 * Portions Copyright (c) 1994, Regents of the University of California 9 * 10 * src/include/utils/int8.h 11 * 12 * NOTES 13 * These data types are supported on all 64-bit architectures, and may 14 * be supported through libraries on some 32-bit machines. If your machine 15 * is not currently supported, then please try to make it so, then post 16 * patches to the postgresql.org hackers mailing list. 17 * 18 *------------------------------------------------------------------------- 19 */ 20 #ifndef INT8_H 21 #define INT8_H 22 23 #include "fmgr.h" 24 25 26 extern bool scanint8(const char *str, bool errorOK, int64 *result); 27 28 extern Datum int8in(PG_FUNCTION_ARGS); 29 extern Datum int8out(PG_FUNCTION_ARGS); 30 extern Datum int8recv(PG_FUNCTION_ARGS); 31 extern Datum int8send(PG_FUNCTION_ARGS); 32 33 extern Datum int8eq(PG_FUNCTION_ARGS); 34 extern Datum int8ne(PG_FUNCTION_ARGS); 35 extern Datum int8lt(PG_FUNCTION_ARGS); 36 extern Datum int8gt(PG_FUNCTION_ARGS); 37 extern Datum int8le(PG_FUNCTION_ARGS); 38 extern Datum int8ge(PG_FUNCTION_ARGS); 39 40 extern Datum int84eq(PG_FUNCTION_ARGS); 41 extern Datum int84ne(PG_FUNCTION_ARGS); 42 extern Datum int84lt(PG_FUNCTION_ARGS); 43 extern Datum int84gt(PG_FUNCTION_ARGS); 44 extern Datum int84le(PG_FUNCTION_ARGS); 45 extern Datum int84ge(PG_FUNCTION_ARGS); 46 47 extern Datum int48eq(PG_FUNCTION_ARGS); 48 extern Datum int48ne(PG_FUNCTION_ARGS); 49 extern Datum int48lt(PG_FUNCTION_ARGS); 50 extern Datum int48gt(PG_FUNCTION_ARGS); 51 extern Datum int48le(PG_FUNCTION_ARGS); 52 extern Datum int48ge(PG_FUNCTION_ARGS); 53 54 extern Datum int82eq(PG_FUNCTION_ARGS); 55 extern Datum int82ne(PG_FUNCTION_ARGS); 56 extern Datum int82lt(PG_FUNCTION_ARGS); 57 extern Datum int82gt(PG_FUNCTION_ARGS); 58 extern Datum int82le(PG_FUNCTION_ARGS); 59 extern Datum int82ge(PG_FUNCTION_ARGS); 60 61 extern Datum int28eq(PG_FUNCTION_ARGS); 62 extern Datum int28ne(PG_FUNCTION_ARGS); 63 extern Datum int28lt(PG_FUNCTION_ARGS); 64 extern Datum int28gt(PG_FUNCTION_ARGS); 65 extern Datum int28le(PG_FUNCTION_ARGS); 66 extern Datum int28ge(PG_FUNCTION_ARGS); 67 68 extern Datum int8um(PG_FUNCTION_ARGS); 69 extern Datum int8up(PG_FUNCTION_ARGS); 70 extern Datum int8pl(PG_FUNCTION_ARGS); 71 extern Datum int8mi(PG_FUNCTION_ARGS); 72 extern Datum int8mul(PG_FUNCTION_ARGS); 73 extern Datum int8div(PG_FUNCTION_ARGS); 74 extern Datum int8abs(PG_FUNCTION_ARGS); 75 extern Datum int8mod(PG_FUNCTION_ARGS); 76 extern Datum int8inc(PG_FUNCTION_ARGS); 77 extern Datum int8dec(PG_FUNCTION_ARGS); 78 extern Datum int8inc_any(PG_FUNCTION_ARGS); 79 extern Datum int8inc_float8_float8(PG_FUNCTION_ARGS); 80 extern Datum int8dec_any(PG_FUNCTION_ARGS); 81 extern Datum int8larger(PG_FUNCTION_ARGS); 82 extern Datum int8smaller(PG_FUNCTION_ARGS); 83 84 extern Datum int8and(PG_FUNCTION_ARGS); 85 extern Datum int8or(PG_FUNCTION_ARGS); 86 extern Datum int8xor(PG_FUNCTION_ARGS); 87 extern Datum int8not(PG_FUNCTION_ARGS); 88 extern Datum int8shl(PG_FUNCTION_ARGS); 89 extern Datum int8shr(PG_FUNCTION_ARGS); 90 91 extern Datum int84pl(PG_FUNCTION_ARGS); 92 extern Datum int84mi(PG_FUNCTION_ARGS); 93 extern Datum int84mul(PG_FUNCTION_ARGS); 94 extern Datum int84div(PG_FUNCTION_ARGS); 95 96 extern Datum int48pl(PG_FUNCTION_ARGS); 97 extern Datum int48mi(PG_FUNCTION_ARGS); 98 extern Datum int48mul(PG_FUNCTION_ARGS); 99 extern Datum int48div(PG_FUNCTION_ARGS); 100 101 extern Datum int82pl(PG_FUNCTION_ARGS); 102 extern Datum int82mi(PG_FUNCTION_ARGS); 103 extern Datum int82mul(PG_FUNCTION_ARGS); 104 extern Datum int82div(PG_FUNCTION_ARGS); 105 106 extern Datum int28pl(PG_FUNCTION_ARGS); 107 extern Datum int28mi(PG_FUNCTION_ARGS); 108 extern Datum int28mul(PG_FUNCTION_ARGS); 109 extern Datum int28div(PG_FUNCTION_ARGS); 110 111 extern Datum int48(PG_FUNCTION_ARGS); 112 extern Datum int84(PG_FUNCTION_ARGS); 113 114 extern Datum int28(PG_FUNCTION_ARGS); 115 extern Datum int82(PG_FUNCTION_ARGS); 116 117 extern Datum i8tod(PG_FUNCTION_ARGS); 118 extern Datum dtoi8(PG_FUNCTION_ARGS); 119 120 extern Datum i8tof(PG_FUNCTION_ARGS); 121 extern Datum ftoi8(PG_FUNCTION_ARGS); 122 123 extern Datum i8tooid(PG_FUNCTION_ARGS); 124 extern Datum oidtoi8(PG_FUNCTION_ARGS); 125 126 extern Datum generate_series_int8(PG_FUNCTION_ARGS); 127 extern Datum generate_series_step_int8(PG_FUNCTION_ARGS); 128 129 #endif /* INT8_H */ 130