/*
- * Copyright (c) 2005, Herv� Drolon, FreeImage Team
+ * Copyright (c) 2005, Herve Drolon, FreeImage Team
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
*/
#ifndef INLINE
#if defined(_MSC_VER)
- #define INLINE __inline
+ #define INLINE __forceinline
#elif defined(__GNUC__)
#define INLINE __inline__
#elif defined(__MWERKS__)
#endif
#endif
-/* MSVC does not have lrintf */
-#ifdef _MSC_VER
+/* MSVC and Borland C do not have lrintf */
+#if defined(_MSC_VER) || defined(__BORLANDC__)
static INLINE long lrintf(float f){
- int i;
-
- _asm{
- fld f
- fistp i
- };
-
- return i;
+#ifdef _M_X64
+ return (long)((f>0.0f) ? (f + 0.5f):(f -0.5f));
+#else
+ int i;
+
+ _asm{
+ fld f
+ fistp i
+ };
+
+ return i;
+#endif
}
#endif
/* JPWL>> */
#ifdef USE_JPWL
-#include "../jpwl/jpwl.h"
+#include "./jpwl/jpwl.h"
#endif /* USE_JPWL */
/* <<JPWL */