# Class: com.pnfsoftware.jeb.util.primitives.LargeIntHandler

Handler for large integers of a given maximum bitsize. Those objects are created through a factory method.

## Method: add
- parameter: `a`, type: `java.math.BigInteger`
- parameter: `b`, type: `java.math.BigInteger`
- return type: `java.math.BigInteger`


## Method: and
- parameter: `a`, type: `java.math.BigInteger`
- parameter: `b`, type: `java.math.BigInteger`
- return type: `java.math.BigInteger`


## Method: clearbit
- parameter: `a`, type: `java.math.BigInteger`
- parameter: `n`, type: `int`
- return type: `java.math.BigInteger`


## Method: compare
- parameter: `a`, type: `java.math.BigInteger`
- parameter: `b`, type: `java.math.BigInteger`
- return type: `int`


## Method: compareU
- parameter: `a`, type: `java.math.BigInteger`
- parameter: `b`, type: `java.math.BigInteger`
- return type: `int`


## Method: create
- parameter: `val`, type: `java.lang.String`
- return type: `java.math.BigInteger`

Description: Create a new big integer. The client is responsible for making sure that the two\-complement representation of the value fits within [bitsize](#getBitsize()) bits.
parameter: val: 
return: 

## Method: div2S
- parameter: `a`, type: `java.math.BigInteger`
- parameter: `b`, type: `java.math.BigInteger`
- return type: `java.math.BigInteger[]`


## Method: div2U
- parameter: `a`, type: `java.math.BigInteger`
- parameter: `b`, type: `java.math.BigInteger`
- return type: `java.math.BigInteger[]`


## Method: divS
- parameter: `a`, type: `java.math.BigInteger`
- parameter: `b`, type: `java.math.BigInteger`
- return type: `java.math.BigInteger`


## Method: divU
- parameter: `a`, type: `java.math.BigInteger`
- parameter: `b`, type: `java.math.BigInteger`
- return type: `java.math.BigInteger`


## Method: getBitsize
- return type: `int`


## Method: mul2S
- parameter: `a`, type: `java.math.BigInteger`
- parameter: `b`, type: `java.math.BigInteger`
- return type: `java.math.BigInteger`


## Method: mul2U
- parameter: `a`, type: `java.math.BigInteger`
- parameter: `b`, type: `java.math.BigInteger`
- return type: `java.math.BigInteger`


## Method: mulS
- parameter: `a`, type: `java.math.BigInteger`
- parameter: `b`, type: `java.math.BigInteger`
- return type: `java.math.BigInteger`


## Method: mulU
- parameter: `a`, type: `java.math.BigInteger`
- parameter: `b`, type: `java.math.BigInteger`
- return type: `java.math.BigInteger`


## Method: neg
- parameter: `a`, type: `java.math.BigInteger`
- return type: `java.math.BigInteger`


## Method: not
- parameter: `a`, type: `java.math.BigInteger`
- return type: `java.math.BigInteger`


## Method: or
- parameter: `a`, type: `java.math.BigInteger`
- parameter: `b`, type: `java.math.BigInteger`
- return type: `java.math.BigInteger`


## Method: remS
- parameter: `a`, type: `java.math.BigInteger`
- parameter: `b`, type: `java.math.BigInteger`
- return type: `java.math.BigInteger`


## Method: remU
- parameter: `a`, type: `java.math.BigInteger`
- parameter: `b`, type: `java.math.BigInteger`
- return type: `java.math.BigInteger`


## Method: rol
- parameter: `a`, type: `java.math.BigInteger`
- parameter: `n`, type: `int`
- return type: `java.math.BigInteger`


## Method: ror
- parameter: `a`, type: `java.math.BigInteger`
- parameter: `n`, type: `int`
- return type: `java.math.BigInteger`


## Method: sar
- parameter: `a`, type: `java.math.BigInteger`
- parameter: `n`, type: `int`
- return type: `java.math.BigInteger`

Description: shift with modulo\-count \(positive\)

## Method: setbit
- parameter: `a`, type: `java.math.BigInteger`
- parameter: `n`, type: `int`
- return type: `java.math.BigInteger`


## Method: shl
- parameter: `a`, type: `java.math.BigInteger`
- parameter: `n`, type: `int`
- return type: `java.math.BigInteger`

Description: shift with modulo\-count \(positive\)

## Method: shr
- parameter: `a`, type: `java.math.BigInteger`
- parameter: `n`, type: `int`
- return type: `java.math.BigInteger`

Description: shift with modulo\-count \(positive\)

## Method: sub
- parameter: `a`, type: `java.math.BigInteger`
- parameter: `b`, type: `java.math.BigInteger`
- return type: `java.math.BigInteger`


## Method: testbit
- parameter: `a`, type: `java.math.BigInteger`
- parameter: `n`, type: `int`
- return type: `boolean`


## Method: toUnsigned
- parameter: `a`, type: `java.math.BigInteger`
- return type: `java.math.BigInteger`

Description: Get the unsigned equivalent of the provided truncated integer. 

 Warning, this method is unsafe\! The result may no longer be representable on bitsize bits.
parameter: a: 
return: 

## Method: toUnsignedHexString
- parameter: `v`, type: `java.math.BigInteger`
- return type: `java.lang.String`


## Method: truncate
- parameter: `val`, type: `java.lang.String`
- return type: `java.math.BigInteger`

Description: Truncate and store as a signed value. The resulting integer 2\-complement representation holds on at most [bitsize](#getBitsize()) bits.
parameter: val: string value \(decimal, hex, or octal \- with the right associated prefix or suffix\)
return: 

## Method: truncate
- parameter: `v`, type: `java.math.BigInteger`
- return type: `java.math.BigInteger`

Description: Truncate and store as a signed value. The resulting integer 2\-complement representation holds on at most [bitsize](#getBitsize()) bits.
parameter: v: 
return: 

## Method: xor
- parameter: `a`, type: `java.math.BigInteger`
- parameter: `b`, type: `java.math.BigInteger`
- return type: `java.math.BigInteger`


## Static Method: create
- parameter: `bitsize`, type: `int`
- return type: `com.pnfsoftware.jeb.util.primitives.LargeIntHandler`


