summaryrefslogtreecommitdiffstats
path: root/lib/libm/noieee_src/n_scalbln.c
blob: c1fd86a468221dfff5c679ef14b4cc32572eedf4 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
/*	$OpenBSD: n_scalbln.c,v 1.1 2009/07/25 11:38:10 martynas Exp $	*/

/*
 * Written by Martynas Venckus.  Public domain
 */

#include <limits.h>
#include <math.h>

double
scalbln(double x, long n)
{
	if (n < INT_MIN)
		return scalbn(x, INT_MIN);
	else if (n > INT_MAX)
		return scalbn(x, INT_MAX);
	else
		return scalbn(x, (int)n);
}

long double
scalblnl(long double x, long n)
{
	if (n < INT_MIN)
		return scalbnl(x, INT_MIN);
	else if (n > INT_MAX)
		return scalbnl(x, INT_MAX);
	else
		return scalbnl(x, (int)n);
}