comparison dstep/coreservices/carboncore/Math64.d @ 11:07194b026fa4

Added bindings to a couple of frameworks, new license + some other things
author Jacob Carlborg <doob@me.com>
date Sat, 01 Aug 2009 15:03:28 +0200
parents
children
comparison
equal deleted inserted replaced
10:27e00625790b 11:07194b026fa4
1 /**
2 * Copyright: Copyright (c) 2009 Jacob Carlborg.
3 * Authors: Jacob Carlborg
4 * Version: Initial created: Jul 21, 2009
5 * License: $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost Software License 1.0)
6 */
7 module dstep.coreservices.carboncore.Math64;
8
9 //import dstep.AvailabilityMacros;
10 import dstep.coreservices.carboncore.ConditionalMacros;
11 import dstep.coreservices.carboncore.MacTypes;
12
13 extern (C)
14 {
15 long S64Max ();
16 long S64Min ();
17 long S64Add (long left, long right);
18 long S64Subtract (long left, long right);
19 long S64Negate (long value);
20 long S64Multiply (long left, long right);
21 long S64Mod (long dividend, long divisor);
22 long S64Divide (long dividend, long divisor, SInt64* remainder);
23 long S64Div (long dividend, long divisor);
24 long S64Set (int value);
25 long S64SetU (uint value);
26 int S32Set (long value);
27 ubyte S64And (long left, long right);
28 ubyte S64Or (long left, long right);
29 ubyte S64Eor (long left, long right);
30 ubyte S64Not (long value);
31 int S64Compare (long left, long right);
32 long S64BitwiseAnd (long left, long right);
33 long S64BitwiseOr (long left, long right);
34 long S64BitwiseEor (long left, long right);
35 long S64BitwiseNot (long value);
36 long S64ShiftRight (long value, uint shift);
37 long S64ShiftLeft (long value, uint shift);
38 double SInt64ToLongDouble (long value);
39 long LongDoubleToSInt64 (double value);
40 ulong U64Max ();
41 ulong U64Add (ulong left, ulong right);
42 ulong U64Subtract (ulong left, ulong right);
43 ulong U64Multiply (ulong left, ulong right);
44 ulong U64Mod (ulong dividend, ulong divisor);
45 ulong U64Divide (ulong dividend, ulong divisor, UInt64* remainder);
46 ulong U64Div (ulong dividend, ulong divisor);
47 ulong U64Set (int value);
48 ulong U64SetU (uint value);
49 uint U32SetU (ulong value);
50 ubyte U64And (ulong left, ulong right);
51 ubyte U64Or (ulong left, ulong right);
52 ubyte U64Eor (ulong left, ulong right);
53 ubyte U64Not (ulong value);
54 int U64Compare (ulong left, ulong right);
55 ulong U64BitwiseAnd (ulong left, ulong right);
56 ulong U64BitwiseOr (ulong left, ulong right);
57 ulong U64BitwiseEor (ulong left, ulong right);
58 ulong U64BitwiseNot (ulong value);
59 ulong U64ShiftRight (ulong value, uint shift);
60 ulong U64ShiftLeft (ulong value, uint shift);
61 double UInt64ToLongDouble (ulong value);
62 ulong LongDoubleToUInt64 (double value);
63 long UInt64ToSInt64 (ulong value);
64 ulong SInt64ToUInt64 (long value);
65 }