VirtualBox

Ignore:
Timestamp:
Aug 8, 2022 9:32:52 PM (3 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
152920
Message:

IPRT/nocrt: llround, llroundf and llroundl. bugref:10261

Location:
trunk/src/VBox/Runtime/common/math
Files:
1 edited
3 copied

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Runtime/common/math/llround.cpp

    r96117 r96118  
    11/* $Id$ */
    22/** @file
    3  * IPRT - No-CRT - lround().
     3 * IPRT - No-CRT - llround().
    44 */
    55
     
    3535
    3636
    37 #undef lround
    38 long RT_NOCRT(lround)(double rd)
     37#undef llround
     38long long RT_NOCRT(llround)(double rd)
    3939{
    4040    if (isfinite(rd))
    4141    {
    4242        rd = round(rd);
    43         if (rd >= (double)LONG_MIN && rd <= (double)LONG_MAX)
     43        if (rd >= (double)LLONG_MIN && rd <= (double)LLONG_MAX)
    4444            return (long)rd;
    4545        // @todo RT_NOCRT(feraiseexcept)(FE_INVALID);
    46         return rd > 0 ? LONG_MAX : LONG_MIN;
     46        return rd > 0 ? LLONG_MAX : LLONG_MIN;
    4747    }
    4848    // @todo RT_NOCRT(feraiseexcept)(FE_INVALID);
    49     return LONG_MAX;
     49    return LLONG_MAX;
    5050}
    51 RT_ALIAS_AND_EXPORT_NOCRT_SYMBOL(lround);
     51RT_ALIAS_AND_EXPORT_NOCRT_SYMBOL(llround);
    5252
  • trunk/src/VBox/Runtime/common/math/llroundf.cpp

    r96117 r96118  
    11/* $Id$ */
    22/** @file
    3  * IPRT - No-CRT - lroundf().
     3 * IPRT - No-CRT - llroundf().
    44 */
    55
     
    3535
    3636
    37 #undef lroundf
    38 long RT_NOCRT(lroundf)(float r32)
     37#undef llroundf
     38long long RT_NOCRT(llroundf)(float r32)
    3939{
    4040    if (isfinite(r32))
    4141    {
    4242        r32 = roundf(r32);
    43         if (r32 >= (double)LONG_MIN && r32 <= (double)LONG_MAX)
     43        if (r32 >= (float)LLONG_MIN && r32 <= (float)LLONG_MAX)
    4444            return (long)r32;
    4545        // @todo RT_NOCRT(feraiseexcept)(FE_INVALID);
    46         return r32 > 0 ? LONG_MAX : LONG_MIN;
     46        return r32 > 0 ? LLONG_MAX : LLONG_MIN;
    4747    }
    4848    // @todo RT_NOCRT(feraiseexcept)(FE_INVALID);
    49     return LONG_MAX;
     49    return LLONG_MAX;
    5050}
    51 RT_ALIAS_AND_EXPORT_NOCRT_SYMBOL(lroundf);
     51RT_ALIAS_AND_EXPORT_NOCRT_SYMBOL(llroundf);
    5252
    5353
  • trunk/src/VBox/Runtime/common/math/llroundl.cpp

    r96117 r96118  
    11/* $Id$ */
    22/** @file
    3  * IPRT - No-CRT - lroundl().
     3 * IPRT - No-CRT - llroundl().
    44 */
    55
     
    3535
    3636
    37 #undef lroundl
    38 long RT_NOCRT(lroundl)(long double lrd)
     37#undef llroundl
     38long long RT_NOCRT(llroundl)(long double lrd)
    3939{
    4040    if (isfinite(lrd))
    4141    {
    4242        lrd = roundl(lrd);
    43         if (lrd >= (long double)LONG_MIN && lrd <= (long double)LONG_MAX)
     43        if (lrd >= (long double)LLONG_MIN && lrd <= (long double)LLONG_MAX)
    4444            return (long)lrd;
    4545        // @todo RT_NOCRT(feraiseexcept)(FE_INVALID);
    46         return lrd > 0 ? LONG_MAX : LONG_MIN;
     46        return lrd > 0 ? LLONG_MAX : LLONG_MIN;
    4747    }
    4848    // @todo RT_NOCRT(feraiseexcept)(FE_INVALID);
    49     return LONG_MAX;
     49    return LLONG_MAX;
    5050}
    51 RT_ALIAS_AND_EXPORT_NOCRT_SYMBOL(lroundl);
     51RT_ALIAS_AND_EXPORT_NOCRT_SYMBOL(llroundl);
    5252
  • trunk/src/VBox/Runtime/common/math/lroundf.cpp

    r96117 r96118  
    4141    {
    4242        r32 = roundf(r32);
    43         if (r32 >= (double)LONG_MIN && r32 <= (double)LONG_MAX)
     43        if (r32 >= (float)LONG_MIN && r32 <= (float)LONG_MAX)
    4444            return (long)r32;
    4545        // @todo RT_NOCRT(feraiseexcept)(FE_INVALID);
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette