Welcome to the new DelphiDabbler Code Library Documentation.

This is a new site that's currently running on alpha code. There are going to be bugs. If you discover any, please report them on the site's issues page (GitHub account required). Thanks.

Warning: Many URLs are going to change. Refer to the README file to discover which library project's documentation has been completed.

Power class method

Project: Fractions

Unit: DelphiDabbler.Lib.Fractions

Record: TFraction

Applies to: 0.1.x

class function Power(const F: TFraction; Exponent: ShortInt): TFraction; static;

Applies to: ~>0.2

class function Power(const F: TFraction; Exponent: ShortInt): TFraction; 
  overload; static;
function Power(const Exponent: ShortInt): TFraction; overload;

Description

Return a fraction raised to an integer power specified by the Exponent parameter. The resulting fraction is simplified.

Exponent can be positive, zero or negative except unless the fraction is zero when Exponent must be non-negative.

When Exponent is negative the reciprocal of F is raised to the power of the absolute value of Exponent. This is because, for any number n, n^-x = 1/(N^x).

The class method takes the fraction to be operated on, F, as its first parameter.

[~>0.2] The instance method operates on the fraction instance upon which it is called.

Examples

Class method examples

Here’s a simple function that squares the given fraction.

function Square(const F: TFraction): TFraction;
begin
  Result := TFraction.Power(F, 2);
end;

[~>0.2] Here is some code that write out all the integer powers of 1/2 from -32 to +32:

var
  F, G: TFraction;
  N: ShortInt;
begin
  F := TFraction.Create(1, 2);  // 1/2
  for N := -32 to 32 do
  begin
    G := F.Power(N);
    WriteLn(
      Format(
        '1/2^%d = %d/%d', [N, G.Numerator, G.Denominator]
      )
    );
  end;
end;

See Also