anchor.diff:  
       /// <summary>Returns the square root of the given BigDecimal, using the default precision.</summary>
       class function Sqrt(const Value: BigDecimal): BigDecimal; overload; static;
  +
  +    /// <summary>Returns the integer power of the given BigDecimal, in unlimited precision.</summary>
  +    class function IntPower(const Base: BigDecimal; Exponent: Integer): BigDecimal; overload; static;
  +
  +    /// <summary>Returns the integer power of the given BigDecimal, in the given precision.</summary>
  +    class function IntPower(const Base: BigDecimal; Exponent, Precision: Integer): BigDecimal; overload; static;
   
   
       // -- Comparison functions --
  
positive.code: 
      // -- Implicit conversion operators --
  
    {$IFDEF HASEXTENDED}
      /// <summary>Returns a BigDecimal with the exact value of the given Extended parameter.</summary>
      class operator Implicit(const E: Extended): BigDecimal;
    {$ENDIF}
  
negative.code:     Result := Velthuis.FloatUtils.MakeDouble(LSign, LMantissa, LExponent);
  end;
  
  {$IFDEF HasExtended}
  class operator BigDecimal.Explicit(const Value: BigDecimal): Extended;
  begin
    // TODO: use binary data, see above.
  