Mercurial > projects > dstep
view 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 |
line wrap: on
line source
/** * Copyright: Copyright (c) 2009 Jacob Carlborg. * Authors: Jacob Carlborg * Version: Initial created: Jul 21, 2009 * License: $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost Software License 1.0) */ module dstep.coreservices.carboncore.Math64; //import dstep.AvailabilityMacros; import dstep.coreservices.carboncore.ConditionalMacros; import dstep.coreservices.carboncore.MacTypes; extern (C) { long S64Max (); long S64Min (); long S64Add (long left, long right); long S64Subtract (long left, long right); long S64Negate (long value); long S64Multiply (long left, long right); long S64Mod (long dividend, long divisor); long S64Divide (long dividend, long divisor, SInt64* remainder); long S64Div (long dividend, long divisor); long S64Set (int value); long S64SetU (uint value); int S32Set (long value); ubyte S64And (long left, long right); ubyte S64Or (long left, long right); ubyte S64Eor (long left, long right); ubyte S64Not (long value); int S64Compare (long left, long right); long S64BitwiseAnd (long left, long right); long S64BitwiseOr (long left, long right); long S64BitwiseEor (long left, long right); long S64BitwiseNot (long value); long S64ShiftRight (long value, uint shift); long S64ShiftLeft (long value, uint shift); double SInt64ToLongDouble (long value); long LongDoubleToSInt64 (double value); ulong U64Max (); ulong U64Add (ulong left, ulong right); ulong U64Subtract (ulong left, ulong right); ulong U64Multiply (ulong left, ulong right); ulong U64Mod (ulong dividend, ulong divisor); ulong U64Divide (ulong dividend, ulong divisor, UInt64* remainder); ulong U64Div (ulong dividend, ulong divisor); ulong U64Set (int value); ulong U64SetU (uint value); uint U32SetU (ulong value); ubyte U64And (ulong left, ulong right); ubyte U64Or (ulong left, ulong right); ubyte U64Eor (ulong left, ulong right); ubyte U64Not (ulong value); int U64Compare (ulong left, ulong right); ulong U64BitwiseAnd (ulong left, ulong right); ulong U64BitwiseOr (ulong left, ulong right); ulong U64BitwiseEor (ulong left, ulong right); ulong U64BitwiseNot (ulong value); ulong U64ShiftRight (ulong value, uint shift); ulong U64ShiftLeft (ulong value, uint shift); double UInt64ToLongDouble (ulong value); ulong LongDoubleToUInt64 (double value); long UInt64ToSInt64 (ulong value); ulong SInt64ToUInt64 (long value); }