Left: | ||
Right: |
OLD | NEW |
---|---|
1 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */ | 1 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */ |
2 /* cairo - a vector graphics library with display and print output | 2 /* cairo - a vector graphics library with display and print output |
3 * | 3 * |
4 * Copyright © 2004 Keith Packard | 4 * Copyright © 2004 Keith Packard |
5 * | 5 * |
6 * This program is free software; you can redistribute it and/or modify | 6 * This program is free software; you can redistribute it and/or modify |
7 * it under the terms of the GNU General Public License version 2 as | 7 * it under the terms of the GNU General Public License version 2 as |
8 * published by the Free Software Foundation; | 8 * published by the Free Software Foundation; |
9 * | 9 * |
10 * This program is distributed in the hope that it will be useful, | 10 * This program is distributed in the hope that it will be useful, |
(...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
82 # ifndef INT16_MAX | 82 # ifndef INT16_MAX |
83 # define INT16_MAX (32767) | 83 # define INT16_MAX (32767) |
84 # endif | 84 # endif |
85 # ifndef UINT16_MAX | 85 # ifndef UINT16_MAX |
86 # define UINT16_MAX (65535) | 86 # define UINT16_MAX (65535) |
87 # endif | 87 # endif |
88 #else | 88 #else |
89 #error Cannot find definitions for fixed-width integral types (uint8_t, uint32_t , etc.) | 89 #error Cannot find definitions for fixed-width integral types (uint8_t, uint32_t , etc.) |
90 #endif | 90 #endif |
91 | 91 |
92 #include "ns3/ns3-module.h" | |
93 #define NS3_MODULE NS3_CORE_MODULE | |
94 #include "ns3/ns3-export.h" | |
95 | |
92 #ifdef __cplusplus | 96 #ifdef __cplusplus |
93 extern "C" { | 97 extern "C" { |
94 #endif | 98 #endif |
95 | 99 |
96 /* | 100 /* |
97 * 64-bit datatypes. Two separate implementations, one using | 101 * 64-bit datatypes. Two separate implementations, one using |
98 * built-in 64-bit signed/unsigned types another implemented | 102 * built-in 64-bit signed/unsigned types another implemented |
99 * as a pair of 32-bit ints | 103 * as a pair of 32-bit ints |
100 */ | 104 */ |
101 | 105 |
102 #define I cairo_private | 106 #define I cairo_private |
103 | 107 |
108 NS3_EXPORT extern const char * cairo_impl64; | |
Peter Barnes
2018/05/23 19:45:40
Why does the declaration *and* the implementation
ammo6818-vandals.uidaho.edu
2018/06/01 05:16:23
Removed from the .c file
| |
109 | |
104 #if !HAVE_UINT64_T | 110 #if !HAVE_UINT64_T |
105 | 111 |
106 extern const char * cairo_impl64; | |
107 | |
108 typedef struct _cairo_uint64 { | 112 typedef struct _cairo_uint64 { |
109 uint32_t lo, hi; | 113 uint32_t lo, hi; |
110 } cairo_uint64_t, cairo_int64_t; | 114 } cairo_uint64_t, cairo_int64_t; |
111 | 115 |
112 cairo_uint64_t I _cairo_uint32_to_uint64 (uint32_t i); | 116 cairo_uint64_t I _cairo_uint32_to_uint64 (uint32_t i); |
113 #define _cairo_uint64_to_uint32(a) ((a).lo) | 117 #define _cairo_uint64_to_uint32(a) ((a).lo) |
114 cairo_uint64_t I _cairo_uint64_add (cairo_uint64_t a, cairo_uint64_t b); | 118 cairo_uint64_t I _cairo_uint64_add (cairo_uint64_t a, cairo_uint64_t b); |
115 cairo_uint64_t I _cairo_uint64_sub (cairo_uint64_t a, cairo_uint64_t b); | 119 cairo_uint64_t I _cairo_uint64_sub (cairo_uint64_t a, cairo_uint64_t b); |
116 cairo_uint64_t I _cairo_uint64_mul (cairo_uint64_t a, cairo_uint64_t b); | 120 cairo_uint64_t I _cairo_uint64_mul (cairo_uint64_t a, cairo_uint64_t b); |
117 cairo_uint64_t I _cairo_uint32x32_64_mul (uint32_t a, uint32_t b); | 121 cairo_uint64_t I _cairo_uint32x32_64_mul (uint32_t a, uint32_t b); |
(...skipping 19 matching lines...) Expand all Loading... | |
137 #define _cairo_int64_eq(a,b) _cairo_uint64_eq (a,b) | 141 #define _cairo_int64_eq(a,b) _cairo_uint64_eq (a,b) |
138 #define _cairo_int64_lsl(a,b) _cairo_uint64_lsl (a,b) | 142 #define _cairo_int64_lsl(a,b) _cairo_uint64_lsl (a,b) |
139 #define _cairo_int64_rsl(a,b) _cairo_uint64_rsl (a,b) | 143 #define _cairo_int64_rsl(a,b) _cairo_uint64_rsl (a,b) |
140 #define _cairo_int64_rsa(a,b) _cairo_uint64_rsa (a,b) | 144 #define _cairo_int64_rsa(a,b) _cairo_uint64_rsa (a,b) |
141 #define _cairo_int64_negate(a) _cairo_uint64_negate (a) | 145 #define _cairo_int64_negate(a) _cairo_uint64_negate (a) |
142 #define _cairo_int64_negative(a) (((int32_t)((a).hi)) < 0) | 146 #define _cairo_int64_negative(a) (((int32_t)((a).hi)) < 0) |
143 #define _cairo_int64_not(a) _cairo_uint64_not (a) | 147 #define _cairo_int64_not(a) _cairo_uint64_not (a) |
144 | 148 |
145 #else | 149 #else |
146 | 150 |
147 extern const char * cairo_impl64; | |
148 | |
149 typedef uint64_t cairo_uint64_t; | 151 typedef uint64_t cairo_uint64_t; |
150 typedef int64_t cairo_int64_t; | 152 typedef int64_t cairo_int64_t; |
151 | 153 |
152 #define _cairo_uint32_to_uint64(i) ((uint64_t)(i)) | 154 #define _cairo_uint32_to_uint64(i) ((uint64_t)(i)) |
153 #define _cairo_uint64_to_uint32(i) ((uint32_t)(i)) | 155 #define _cairo_uint64_to_uint32(i) ((uint32_t)(i)) |
154 #define _cairo_uint64_add(a,b) ((a) + (b)) | 156 #define _cairo_uint64_add(a,b) ((a) + (b)) |
155 #define _cairo_uint64_sub(a,b) ((a) - (b)) | 157 #define _cairo_uint64_sub(a,b) ((a) - (b)) |
156 #define _cairo_uint64_mul(a,b) ((a) * (b)) | 158 #define _cairo_uint64_mul(a,b) ((a) * (b)) |
157 #define _cairo_uint32x32_64_mul(a,b) ((uint64_t)(a) * (b)) | 159 #define _cairo_uint32x32_64_mul(a,b) ((uint64_t)(a) * (b)) |
158 #define _cairo_uint64_lsl(a,b) ((a) << (b)) | 160 #define _cairo_uint64_lsl(a,b) ((a) << (b)) |
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
217 | 219 |
218 cairo_quorem64_t I | 220 cairo_quorem64_t I |
219 _cairo_int64_divrem (cairo_int64_t num, cairo_int64_t den); | 221 _cairo_int64_divrem (cairo_int64_t num, cairo_int64_t den); |
220 | 222 |
221 /* | 223 /* |
222 * 128-bit datatypes. Again, provide two implementations in | 224 * 128-bit datatypes. Again, provide two implementations in |
223 * case the machine has a native 128-bit datatype. GCC supports int128_t | 225 * case the machine has a native 128-bit datatype. GCC supports int128_t |
224 * on ia64 | 226 * on ia64 |
225 */ | 227 */ |
226 | 228 |
229 NS3_EXPORT extern const char * cairo_impl128; | |
230 | |
227 #if !HAVE_UINT128_T | 231 #if !HAVE_UINT128_T |
228 | 232 |
229 extern const char * cairo_impl128; | |
230 | |
231 typedef struct cairo_uint128 { | 233 typedef struct cairo_uint128 { |
232 cairo_uint64_t lo, hi; | 234 cairo_uint64_t lo, hi; |
233 } cairo_uint128_t, cairo_int128_t; | 235 } cairo_uint128_t, cairo_int128_t; |
234 | 236 |
235 cairo_uint128_t I _cairo_uint32_to_uint128 (uint32_t i); | 237 cairo_uint128_t I _cairo_uint32_to_uint128 (uint32_t i); |
236 cairo_uint128_t I _cairo_uint64_to_uint128 (cairo_uint64_t i); | 238 cairo_uint128_t I _cairo_uint64_to_uint128 (cairo_uint64_t i); |
237 #define _cairo_uint128_to_uint64(a) ((a).lo) | 239 #define _cairo_uint128_to_uint64(a) ((a).lo) |
238 #define _cairo_uint128_to_uint32(a) _cairo_uint64_to_uint32 (_cairo_uint128_to_uint64 (a)) | 240 #define _cairo_uint128_to_uint32(a) _cairo_uint64_to_uint32 (_cairo_uint128_to_uint64 (a)) |
239 cairo_uint128_t I _cairo_uint128_add (cairo_uint128_t a, cairo_uint128_t b ); | 241 cairo_uint128_t I _cairo_uint128_add (cairo_uint128_t a, cairo_uint128_t b ); |
240 cairo_uint128_t I _cairo_uint128_sub (cairo_uint128_t a, cairo_uint128_t b ); | 242 cairo_uint128_t I _cairo_uint128_sub (cairo_uint128_t a, cairo_uint128_t b ); |
(...skipping 23 matching lines...) Expand all Loading... | |
264 #define _cairo_int128_rsl(a,b) _cairo_uint128_rsl (a,b) | 266 #define _cairo_int128_rsl(a,b) _cairo_uint128_rsl (a,b) |
265 #define _cairo_int128_rsa(a,b) _cairo_uint128_rsa (a,b) | 267 #define _cairo_int128_rsa(a,b) _cairo_uint128_rsa (a,b) |
266 int I _cairo_int128_lt (cairo_int128_t a, cairo_int128_t b); | 268 int I _cairo_int128_lt (cairo_int128_t a, cairo_int128_t b); |
267 #define _cairo_int128_eq(a,b) _cairo_uint128_eq (a,b) | 269 #define _cairo_int128_eq(a,b) _cairo_uint128_eq (a,b) |
268 #define _cairo_int128_negate(a) _cairo_uint128_negate (a) | 270 #define _cairo_int128_negate(a) _cairo_uint128_negate (a) |
269 #define _cairo_int128_negative(a) (_cairo_uint128_negative (a) ) | 271 #define _cairo_int128_negative(a) (_cairo_uint128_negative (a) ) |
270 #define _cairo_int128_not(a) _cairo_uint128_not (a) | 272 #define _cairo_int128_not(a) _cairo_uint128_not (a) |
271 | 273 |
272 #else /* !HAVE_UINT128_T */ | 274 #else /* !HAVE_UINT128_T */ |
273 | 275 |
274 extern const char * cairo_impl128; | |
275 | |
276 typedef uint128_t cairo_uint128_t; | 276 typedef uint128_t cairo_uint128_t; |
277 typedef int128_t cairo_int128_t; | 277 typedef int128_t cairo_int128_t; |
278 | 278 |
279 #define _cairo_uint32_to_uint128(i) ((uint128_t)(i)) | 279 #define _cairo_uint32_to_uint128(i) ((uint128_t)(i)) |
280 #define _cairo_uint64_to_uint128(i) ((uint128_t)(i)) | 280 #define _cairo_uint64_to_uint128(i) ((uint128_t)(i)) |
281 #define _cairo_uint128_to_uint64(i) ((uint64_t)(i)) | 281 #define _cairo_uint128_to_uint64(i) ((uint64_t)(i)) |
282 #define _cairo_uint128_to_uint32(i) ((uint32_t)(i)) | 282 #define _cairo_uint128_to_uint32(i) ((uint32_t)(i)) |
283 #define _cairo_uint128_add(a,b) ((a) + (b)) | 283 #define _cairo_uint128_add(a,b) ((a) + (b)) |
284 #define _cairo_uint128_sub(a,b) ((a) - (b)) | 284 #define _cairo_uint128_sub(a,b) ((a) - (b)) |
285 #define _cairo_uint128_mul(a,b) ((a) * (b)) | 285 #define _cairo_uint128_mul(a,b) ((a) * (b)) |
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
350 #define _cairo_int128_gt(a,b) _cairo_int128_lt (b,a) | 350 #define _cairo_int128_gt(a,b) _cairo_int128_lt (b,a) |
351 | 351 |
352 #undef I | 352 #undef I |
353 | 353 |
354 #ifdef __cplusplus | 354 #ifdef __cplusplus |
355 }; | 355 }; |
356 #endif | 356 #endif |
357 | 357 |
358 | 358 |
359 #endif /* CAIRO_WIDEINT_H */ | 359 #endif /* CAIRO_WIDEINT_H */ |
OLD | NEW |