diff options
Diffstat (limited to 'libopenjpeg/opj_includes.h')
| -rw-r--r-- | libopenjpeg/opj_includes.h | 20 |
1 files changed, 12 insertions, 8 deletions
diff --git a/libopenjpeg/opj_includes.h b/libopenjpeg/opj_includes.h index 80d617e3..53739abf 100644 --- a/libopenjpeg/opj_includes.h +++ b/libopenjpeg/opj_includes.h @@ -89,14 +89,18 @@ Most compilers implement their own version of this keyword ... /* 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 |
