/* * Copyright (c) 1993-1995 by Argonaut Technologies Limited. All rights reserved. * * $Id: brmath.h 2.5 1997/08/13 10:53:20 JOHNG Exp $ * $Locker: $ * * Wrappers around standard C math functions */ #ifndef _BRMATH_H_ #define _BRMATH_H_ #include #ifndef _NO_PROTOTYPES #if !defined(_MSC_VER) #ifdef __cplusplus extern "C" { #endif float BR_PUBLIC_ENTRY BrFloatFloor(float f); float BR_PUBLIC_ENTRY BrFloatCeil(float f); float BR_PUBLIC_ENTRY BrFloatSqrt(float f); float BR_PUBLIC_ENTRY BrFloatPow(float a, float b); float BR_PUBLIC_ENTRY BrFloatAtan2(float x, float y); #ifdef __cplusplus }; #endif #endif /* * Compiler specific overrides for functions that are inlined */ /* * Compiler specific overrides */ #if defined(__USE_CLIB__) #include /* * Force C library operations to be used directly */ #define BrFloatFloor(f) ((float)floor(f)) #define BrFloatCeil(f) ((float)ceil(f)) #define BrFloatSqrt(f) ((float)sqrt(f)) #define BrFloatPow(a,b) ((float)pow(a,b)) #define BrFloatAtan2(x,y) ((float)atan2((x),(y))) #elif defined(__WATCOMC__) #elif defined(_MSC_VER) #include /* * Force C library operations to be used directly */ #define BrFloatFloor(f) ((float)floor(f)) #define BrFloatCeil(f) ((float)ceil(f)) #define BrFloatSqrt(f) ((float)sqrt(f)) #define BrFloatPow(a,b) ((float)pow(a,b)) #define BrFloatAtan2(x,y) ((float)atan2((x),(y))) #elif defined (__BORLANDC__) #elif defined(__PROTON__) #elif defined(__GNUC__) && defined(i386) #endif #endif #endif