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);
}