openat: don’t close (-1)
[gnulib.git] / tests / test-u64.c
bloba78e66421af9e0661754fda16faaae5392f0b3d8
1 /* Test of <u64.h>
2 Copyright (C) 2009-2024 Free Software Foundation, Inc.
4 This program is free software: you can redistribute it and/or modify
5 it under the terms of the GNU General Public License as published by
6 the Free Software Foundation, either version 3 of the License, or
7 (at your option) any later version.
9 This program is distributed in the hope that it will be useful,
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 GNU General Public License for more details.
14 You should have received a copy of the GNU General Public License
15 along with this program. If not, see <https://www.gnu.org/licenses/>. */
17 /* Written by Simon Josefsson <simon@josefsson.org>, 2009. */
19 #include <config.h>
21 #include <u64.h>
23 int
24 main (void)
26 u64 i = u64init (42, 4711);
27 u64 j, k, l;
29 j = u64hilo (42, 4711);
31 if (u64lt (i, j) || u64lt (j, i))
32 return 1;
34 i = u64hilo (0, 42);
35 j = u64hilo (0, 43);
37 if (!u64lt (i, j))
38 return 1;
40 k = u64plus (i, j);
41 l = u64hilo (0, 42 + 43);
43 if (u64lt (k, l) || u64lt (l, k))
44 return 1;
46 u64
47 m = u64hilo (0x01020304, 0x05060708),
48 n = u64hilo (0x08070605, 0x04030201),
49 o = u64bswap (m);
50 if (u64lt (n, o) || u64lt (o, n))
51 return 1;
53 return 0;