1/*	$OpenBSD: s_scalbln.c,v 1.1 2009/07/25 11:38:10 martynas Exp $	*/
2
3/*
4 * Written by Martynas Venckus.  Public domain
5 */
6
7#include <limits.h>
8#include <math.h>
9
10double
11scalbln(double x, long n)
12{
13	if (n < INT_MIN)
14		return scalbn(x, INT_MIN);
15	else if (n > INT_MAX)
16		return scalbn(x, INT_MAX);
17	else
18		return scalbn(x, (int)n);
19}
20
21float
22scalblnf(float x, long n)
23{
24	if (n < INT_MIN)
25		return scalbnf(x, INT_MIN);
26	else if (n > INT_MAX)
27		return scalbnf(x, INT_MAX);
28	else
29		return scalbnf(x, (int)n);
30}
31
32long double
33scalblnl(long double x, long n)
34{
35	if (n < INT_MIN)
36		return scalbnl(x, INT_MIN);
37	else if (n > INT_MAX)
38		return scalbnl(x, INT_MAX);
39	else
40		return scalbnl(x, (int)n);
41}
42
43