Subversion Repositories Kolibri OS

Rev

Rev 4872 | Blame | Compare with Previous | Last modification | View Log | RSS feed

  1. /*
  2.  * ====================================================
  3.  * Copyright (C) 1998, 2002 by Red Hat Inc. All rights reserved.
  4.  *
  5.  * Permission to use, copy, modify, and distribute this
  6.  * software is freely granted, provided that this notice
  7.  * is preserved.
  8.  * ====================================================
  9.  */
  10.  
  11. #if !defined(_SOFT_FLOAT)
  12.  
  13. /*
  14. Fast version of ldexp using Intel float instructions.
  15.  
  16.    double _f_ldexp (double x, int exp);
  17.  
  18. Function calculates x * 2 ** exp.
  19. There is no error checking or setting of errno.
  20. */
  21.  
  22.         #include "i386mach.h"
  23.  
  24.         .global SYM (_f_ldexp)
  25.        SOTYPE_FUNCTION(_f_ldexp)
  26.  
  27. SYM (_f_ldexp):
  28.         pushl ebp
  29.         movl esp,ebp
  30.         fild 16(ebp)
  31.         fldl 8(ebp)
  32.         fscale
  33.         fstp st1
  34.  
  35.         leave
  36.         ret
  37.  
  38. #endif
  39.