ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

double ldexp ( double  value,
int  exp 
)

Definition at line 26 of file ldexp.c.

Referenced by _scalb(), CMathTest::import_checks(), ldexpf(), and ldexpl().

{
    register double result;
#ifndef __GNUC__
    register double __dy = (double)exp;
#endif

    /* Check for value correctness
     * and set errno if required
     */
    if (_isnan(value))
    {
        errno = EDOM;
    }

#ifdef __GNUC__
#if defined(__clang__)
    asm ("fild %[exp]\n"
         "fscale\n"
         "fstp %%st(1)\n"
         : [result] "=t" (result)
         : [value] "0" (value), [exp] "m" (exp));
#else
    asm ("fscale"
         : "=t" (result)
         : "0" (value), "u" ((double)exp)
         : "1");
#endif
#else /* !__GNUC__ */
    __asm
    {
        fld __dy
        fld value
        fscale
        fstp result
    }
#endif /* !__GNUC__ */
    return result;
}

Generated on Fri May 25 2012 06:03:08 for ReactOS by doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.