Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commitbad3398

Browse files
author
Thomas G. Lockhart
committed
Add int8 8-byte integer type.
1 parent0f0d51b commitbad3398

File tree

2 files changed

+109
-1
lines changed

2 files changed

+109
-1
lines changed

‎src/include/utils/builtins.h

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,16 @@
66
*
77
* Copyright (c) 1994, Regents of the University of California
88
*
9-
* $Id: builtins.h,v 1.44 1998/06/16 06:41:51 momjian Exp $
9+
* $Id: builtins.h,v 1.45 1998/07/08 14:10:30 thomas Exp $
1010
*
1111
* NOTES
1212
* This should normally only be included by fmgr.h.
1313
* Under no circumstances should it ever be included before
1414
* including fmgr.h!
15+
* fmgr.h does not seem to include this file, so don't know where this
16+
* comment came from. Backend code must include this stuff explicitly
17+
* as far as I can tell...
18+
* - thomas 1998-06-08
1519
*
1620
*-------------------------------------------------------------------------
1721
*/
@@ -22,6 +26,7 @@
2226
#include<utils/geo_decls.h>
2327
#include<utils/datetime.h>
2428
#include<utils/nabstime.h>
29+
#include<utils/int8.h>
2530
#include<utils/cash.h>
2631
#include<utils/rel.h>
2732

‎src/include/utils/int8.h

Lines changed: 103 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,103 @@
1+
/*-------------------------------------------------------------------------
2+
*
3+
* int8.h--
4+
* Declarations for operations on 64-bit integers.
5+
*
6+
*
7+
* Copyright (c) 1994, Regents of the University of California
8+
*
9+
* $Id: int8.h,v 1.1 1998/07/08 14:10:30 thomas Exp $
10+
*
11+
* NOTES
12+
* These data types are supported on all 64-bit architectures, and may
13+
* be supported through libraries on some 32-bit machines. If your machine
14+
* is not currently supported, then please try to make it so, then post
15+
* patches to the postgresql.org hackers mailing list.
16+
*
17+
* This code was written for and originally appeared in the contrib
18+
* directory as a user-defined type.
19+
* - thomas 1998-06-08
20+
*
21+
*-------------------------------------------------------------------------
22+
*/
23+
#ifndefINT8_H
24+
#defineINT8_H
25+
26+
#if defined(__alpha)|| defined(PPC)
27+
typedeflongintint64;
28+
29+
#defineINT64_FORMAT "%ld"
30+
31+
#elif defined(__GNUC__)&& defined(i386)
32+
typedeflong longintint64;
33+
34+
#defineINT64_FORMAT "%Ld"
35+
36+
#else
37+
typedeflongintint64;
38+
39+
#defineINT64_FORMAT "%ld"
40+
#endif
41+
42+
43+
/*
44+
#if sizeof(int64) == 8
45+
#define HAVE_64BIT_INTS 1
46+
#endif
47+
*/
48+
49+
50+
externint64*int8in(char*str);
51+
externchar*int8out(int64*val);
52+
53+
externboolint8eq(int64*val1,int64*val2);
54+
externboolint8ne(int64*val1,int64*val2);
55+
externboolint8lt(int64*val1,int64*val2);
56+
externboolint8gt(int64*val1,int64*val2);
57+
externboolint8le(int64*val1,int64*val2);
58+
externboolint8ge(int64*val1,int64*val2);
59+
60+
externboolint84eq(int64*val1,int32val2);
61+
externboolint84ne(int64*val1,int32val2);
62+
externboolint84lt(int64*val1,int32val2);
63+
externboolint84gt(int64*val1,int32val2);
64+
externboolint84le(int64*val1,int32val2);
65+
externboolint84ge(int64*val1,int32val2);
66+
67+
externboolint48eq(int32val1,int64*val2);
68+
externboolint48ne(int32val1,int64*val2);
69+
externboolint48lt(int32val1,int64*val2);
70+
externboolint48gt(int32val1,int64*val2);
71+
externboolint48le(int32val1,int64*val2);
72+
externboolint48ge(int32val1,int64*val2);
73+
74+
externint64*int8um(int64*val);
75+
externint64*int8pl(int64*val1,int64*val2);
76+
externint64*int8mi(int64*val1,int64*val2);
77+
externint64*int8mul(int64*val1,int64*val2);
78+
externint64*int8div(int64*val1,int64*val2);
79+
externint64*int8larger(int64*val1,int64*val2);
80+
externint64*int8smaller(int64*val1,int64*val2);
81+
82+
externint64*int84pl(int64*val1,int32val2);
83+
externint64*int84mi(int64*val1,int32val2);
84+
externint64*int84mul(int64*val1,int32val2);
85+
externint64*int84div(int64*val1,int32val2);
86+
87+
externint64*int48pl(int32val1,int64*val2);
88+
externint64*int48mi(int32val1,int64*val2);
89+
externint64*int48mul(int32val1,int64*val2);
90+
externint64*int48div(int32val1,int64*val2);
91+
92+
externint64*int48(int32val);
93+
externint32int84(int64*val);
94+
95+
#ifFALSE
96+
externint64*int28 (int16val);
97+
externint16int82(int64*val);
98+
#endif
99+
100+
externfloat64i8tod(int64*val);
101+
externint64*dtoi8(float64val);
102+
103+
#endif/* INT8_H */

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp