asn1s-core/src/main/java/org/asn1s/core/value/CoreValueFactory.java
/**
	 * Constructs BigDecimal from parts by arithmetic operations. Precision is 10k digits.
	 * It's highly NOT recommended to use this method unless your values are huge and can not be handled by long
	 *
	 * @param mantissa an integer mantissa
	 * @param decimal  pow base is 10 or 2
	 * @param exponent the exponent in range of [-999999999, 999999999]
	 * @return RealValue that uses BigDecimal
	 */
Constructs BigDecimal from parts by arithmetic operations. Precision is 10k digits.
It's highly NOT recommended to use this method unless your values are huge and can not be handled by long

@param mantissa an integer mantissa
@param decimal  pow base is 10 or 2
@param exponent the exponent in range of [-999999999, 999999999]
@return RealValue that uses BigDecimal
Constructs BigDecimal from parts by arithmetic operations . Precision is 10k digits . It ' s highly NOT recommended to use this method unless your values are huge and can not be handled by long @param mantissa an integer mantissa @param decimal pow base is 10 or 2 @param exponent the exponent in range of [ - 999999999 999999999 ] @return RealValue that uses BigDecimal
@NotNull
	private static RealValue createReal( BigInteger mantissa, boolean decimal, int exponent, boolean negative )
	{
		BigDecimal result = new BigDecimal( mantissa ).multiply( new BigDecimal( decimal ? 10 : 2 ).pow( exponent, MATH_CONTEXT ) );
		if( negative )
			result = result.negate();
		return new RealValueBig( result );
	}
@ NotNull private static RealValue createReal ( BigInteger mantissa , boolean decimal , int exponent , boolean negative ) { BigDecimal result = new BigDecimal ( mantissa ) . multiply ( new BigDecimal ( decimal ? 10 : 2 ) . pow ( exponent , MATH_CONTEXT ) ) ; if ( negative ) result = result . negate ( ) ; return new RealValueBig ( result ) ; }
Constructs BigDecimal from parts by arithmetic operations.
Constructs BigDecimal from parts by arithmetic operations .