summaryrefslogtreecommitdiff
path: root/src/math/scalbn.c
blob: f01843ce6937f5d6f2a28b4c0763b6fe13056c4b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# define TGSOURCE "scalbn.c"
#include "_tgmath.h"
#include <math.h>

TYPE TGFN(scalbn)(TYPE x, int n)
{
	switch (fpclassify(x)) {
	case FP_ZERO:		return x;
	case FP_INFINITE:	return x;
	default:		break;
	}

	if (n == 0) {
		return x;
	}

	return TGFN(ldexp)(x, n);
}

/*
STDC(199901)
LINK(m)
*/