forked from KolibriOS/kolibrios
- Move source code from `trunk` into root directory. - Update build files and ASM include paths. Add SPDX license header where appropriate. - These changes also update the CI build files in `.gitea/workflows/`. - Note: Line endings standardised from `CRLF` > `LF`, so best to view diffs with whitespace changes hidden. (Work towards [#75](KolibriOS/kolibrios#75), point 3) --------- Co-authored-by: Burer <burer@kolibrios.org> Reviewed-on: KolibriOS/kolibrios#425 Reviewed-by: Mikhail Frolov <mixa.frolov2003@gmail.com> Reviewed-by: Burer <burer@kolibrios.org> Co-authored-by: Andrew <dent.ace@gmail.com> Co-committed-by: Andrew <dent.ace@gmail.com>
29 lines
640 B
C
29 lines
640 B
C
/* Copyright (C) 1996 DJ Delorie, see COPYING.DJ for details */
|
|
/* Copyright (C) 1995 DJ Delorie, see COPYING.DJ for details */
|
|
#include <math.h>
|
|
|
|
double ldexp(double v, int e)
|
|
{
|
|
double two = 2.0;
|
|
|
|
if (e < 0) {
|
|
e = -e; /* This just might overflow on two-complement machines. */
|
|
if (e < 0)
|
|
return 0.0;
|
|
while (e > 0) {
|
|
if (e & 1)
|
|
v /= two;
|
|
two *= two;
|
|
e >>= 1;
|
|
}
|
|
} else if (e > 0) {
|
|
while (e > 0) {
|
|
if (e & 1)
|
|
v *= two;
|
|
two *= two;
|
|
e >>= 1;
|
|
}
|
|
}
|
|
return v;
|
|
}
|