Package org.apfloat.spi
Class Util
 java.lang.Object

 org.apfloat.spi.Util

public class Util extends Object
Miscellaneous utility methods. Version:
 1.6
 Author:
 Mikko Tommila


Method Summary
Modifier and Type Method Description static long
ifFinite(long x, long y)
Returns the argumenty
limited toApfloat.INFINITE
.static int
log2down(int x)
Base2 logarithm rounded down to nearest power of two.static int
log2down(long x)
Base2 logarithm rounded down to nearest power of two.static int
log2up(int x)
Base2 logarithm rounded up to nearest power of two.static int
log2up(long x)
Base2 logarithm rounded up to nearest power of two.static int
round23down(int x)
Round down to nearest power of two or three times a power of two.static long
round23down(long x)
Round down to nearest power of two or three times a power of two.static int
round23up(int x)
Round up to nearest power of two or three times a power of two.static long
round23up(long x)
Round up to nearest power of two or three times a power of two.static int
round2down(int x)
Round down to nearest power of two.static long
round2down(long x)
Round down to nearest power of two.static int
round2up(int x)
Round up to nearest power of two.static long
round2up(long x)
Round up to nearest power of two.static int
sqrt4down(int x)
Square root rounded down to nearest power of two.static long
sqrt4down(long x)
Square root rounded down to nearest power of two.static int
sqrt4up(int x)
Square root rounded up to nearest power of two.static long
sqrt4up(long x)
Square root rounded up to nearest power of two.



Method Detail

round2down
public static int round2down(int x)
Round down to nearest power of two. Parameters:
x
 The input value, which must be nonnegative. Returns:
x
rounded down to the nearest power of two.

round2down
public static long round2down(long x)
Round down to nearest power of two. Parameters:
x
 The input value, which must be nonnegative. Returns:
x
rounded down to the nearest power of two.

round2up
public static int round2up(int x)
Round up to nearest power of two. Parameters:
x
 The input value, which must be nonnegative and not greater than 2^{30}. Returns:
x
rounded up to the nearest power of two.

round2up
public static long round2up(long x)
Round up to nearest power of two. Parameters:
x
 The input value, which must be nonnegative and not greater than 2^{62}. Returns:
x
rounded up to the nearest power of two.

round23down
public static int round23down(int x)
Round down to nearest power of two or three times a power of two. Parameters:
x
 The input value, which must be nonnegative. Returns:
x
rounded down to nearest power of two or three times a power of two.

round23down
public static long round23down(long x)
Round down to nearest power of two or three times a power of two. Parameters:
x
 The input value, which must be nonnegative. Returns:
x
rounded down to nearest power of two or three times a power of two.

round23up
public static int round23up(int x)
Round up to nearest power of two or three times a power of two. Parameters:
x
 The input value, which must be nonnegative and not greater than 3 * 2^{29}. Returns:
x
rounded up to the nearest power of two or three times a power of two.

round23up
public static long round23up(long x)
Round up to nearest power of two or three times a power of two. Parameters:
x
 The input value, which must be nonnegative and not greater than 3 * 2^{61}. Returns:
x
rounded up to the nearest power of two or three times a power of two.

sqrt4down
public static int sqrt4down(int x)
Square root rounded down to nearest power of two. Parameters:
x
 The input value, which must be nonnegative. Returns:
 Square root of
x
rounded down to nearest power of two.

sqrt4down
public static long sqrt4down(long x)
Square root rounded down to nearest power of two. Parameters:
x
 The input value, which must be nonnegative. Returns:
 Square root of
x
rounded down to nearest power of two.

sqrt4up
public static int sqrt4up(int x)
Square root rounded up to nearest power of two. Parameters:
x
 The input value, which must be nonnegative. Returns:
 Square root of
x
rounded up to nearest power of two.

sqrt4up
public static long sqrt4up(long x)
Square root rounded up to nearest power of two. Parameters:
x
 The input value, which must be nonnegative. Returns:
 Square root of
x
rounded up to nearest power of two.

log2down
public static int log2down(int x)
Base2 logarithm rounded down to nearest power of two. Parameters:
x
 The input value, which must be positive. Returns:
log_{2}(x)
rounded down to nearest integer.

log2down
public static int log2down(long x)
Base2 logarithm rounded down to nearest power of two. Parameters:
x
 The input value, which must be positive. Returns:
log_{2}(x)
rounded down to nearest integer.

log2up
public static int log2up(int x)
Base2 logarithm rounded up to nearest power of two. Parameters:
x
 The input value, which must be positive. Returns:
log_{2}(x)
rounded up to nearest integer.

log2up
public static int log2up(long x)
Base2 logarithm rounded up to nearest power of two. Parameters:
x
 The input value, which must be positive. Returns:
log_{2}(x)
rounded up to nearest integer.

ifFinite
public static long ifFinite(long x, long y)
Returns the argumenty
limited toApfloat.INFINITE
. In casex
isApfloat.INFINITE
, thenApfloat.INFINITE
is returned, otherwisey
. Also ify
is negative or zero, this is treated as a case of overflow, andApfloat.INFINITE
is returned. The return value is thus always positive. Parameters:
x
 The argument that is tested to beApfloat.INFINITE
.y
 The argument that is returned ifx
is notApfloat.INFINITE
. Returns:
(x == Apfloat.INFINITE  y <= 0 ? Apfloat.INFINITE : y)

