Skip to content

NthRoot ​

The function NthRoot returns the result of aValue inversely raised to the power of aN.

In mathematical terms, aN is the exponent value known as the index shown as a below, and aValue is the radicand shown as b.

image-20240207-030950.png

Using 100 as the sample radicand value, if the exponent value is 2 (10 x 10) -

image-20240207-025001.png

If the exponent value is 3 ((10 x 10) x 10) -

image-20240207-025736.png

If the exponent is 4 (((10 x 10) x 10) x 10) -

image-20240207-030013.png

Using the NthRoot function, these all result in 10, and would be written as -

  • NthRoot(2, 100)
  • NthRoot(3,1000)
  • NthRoot(4, 10000)

If the result is a nonsense or imaginary number, the result will be the value NAN which is an acronym for Not A Number.

Please also refer to the function Power which has similar functionality.

Declaration: Function NthRoot(const aN : Integer; const aValue : Extended) : Extended;

Examples follow.

pascal
procedure ScriptEvent (var Value : variant);
var
  NewInt : integer;
  NewExt, NextExt : extended;
begin
  NewInt := 3;                                     //Looking for the cube root
  NewExt := 1000;
  NextExt := NthRoot(NewInt, NewExt);
  LogInfo('Result =  '+FloatToStr(NextExt));       //Displays 'Result =  10'
  LogInfo('');

  NewInt := 2;
  NewExt := -1;                                    //Returns i (an imaginary number)
  NextExt := NthRoot(NewInt, NewExt);
  LogInfo('Result =  '+FloatToStr(NextExt));       //Displays 'Result =  NAN'
  LogInfo('');

end;