Transcendental functions (Float)

Top 

Example code : Exp, Ln, Log10, Log2, LogN, Max, Min, Power, Sqr, Sqrt

procedure TForm1.W3Button21Click(Sender: TObject);

var

  v : Double;

  int1, int2, int3 : Integer;

  number, squared : Integer;

  num, squareRoot : Extended;

begin

  // Calculate the exponent of 2

  // Get the natural logarithm of 2

  v := Ln(2);

  // Show this value

  WriteLn('Ln(2) = '+FloatToStr(v));

  // Get the exponent of this value - reverses the Ln operation

  v := Exp(v);

  // Show this value

  WriteLn('Exp(Ln(2)) = '+FloatToStr(v));

WriteLn('==========');

// Get the natural logarithm of 2

  v := Ln(2);

  // Show this value

  WriteLn('Ln(2) = '+FloatToStr(v));

  // Get the exponent of this value - reverses the Ln operation

  v := Exp(v);

  // Show this value

  WriteLn('Exp(Ln(2)) = '+FloatToStr(v));

WriteLn('==========');

// Show the Log to base 10 values of 3 numbers

  WriteLn('Log10(1)  = '+FloatToStr(Log10(1)));

  WriteLn('Log10(5)  = '+FloatToStr(Log10(5)));

  WriteLn('Log10(10) = '+FloatToStr(Log10(10)));

 

WriteLn('==========');

// Example code : Illustrate integer use of Max

  int1 := 37;

  int2 := 38;

  int3 := Max(int1, int2);

 

  WriteLn('int1 = '+IntToStr(int1));

  WriteLn('int2 = '+IntToStr(int2));

  WriteLn('Max(int1, int2) = '+IntToStr(int3));

 

WriteLn('==========');

//Illustrating Max of mixed number types

  int1   := 37;

  v := 37.5;

  v := Max(v, int1);

  WriteLn('Max(v, int1) = '+FloatToStr(v));

WriteLn('==========');

// Illustrate integer use of Min

  int1 := 37;

  int2 := 38;

  int3 := Min(int1, int2);

 

  WriteLn('int1 = '+IntToStr(int1));

  WriteLn('int2 = '+IntToStr(int2));

  WriteLn('Min(int1, int2) = '+IntToStr(int3));

WriteLn('==========');

//Illustrating Min of mixed number types

  int1   := 38;

  v := 37.5;

  v := Min(v, int1);

  WriteLn('Min(v, int1) = '+FloatToStr(v));

 

WriteLn('==========');

//Find the square of various values

 

WriteLn('==========');

 

  // The square of 15 = 225

  number  := 15;

  squared := Sqr(number);

  WriteLn(Format('%d squared = %d',[number, squared]));

 

  // The square of 17 = 289

  // But result exceeds byte size, so result = 289 MOD 256 = 33

  number  := 17;

  squared := Sqr(number);

  WriteLn(Format('%d squared = %d (see code above)',[number, squared]));

 

  // The square of infinity is still infinity

  v := Infinity;

  v := Sqr(v);

  WriteLn(Format('Infinity squared = %f',[v]));

WriteLn('==========');

//Find the square root of various values

 // The square root of 225 = 15

  number  := 225;

  squareRoot := Sqrt(number);

  WriteLn(Format('Square root of %f = %f',[number, squareRoot]));

 

  // The square root of 3.456 = 1.859...

  num  := 3.456;

  squareRoot := Sqrt(num);

  WriteLn(Format('Square root of %7.3f = %12.12f',[num, squareRoot]));

 

  // The square root of infinity is still infinity

  num := Infinity;

  num := Sqrt(num);

  WriteLn(Format('Square root of Infinity = %f',[num]));

end;

Ln(2) = 0.693147180559945

Exp(Ln(2)) = 1.9999999999999993

==========

Ln(2) = 0.693147180559945

Exp(Ln(2)) = 1.9999999999999993

==========

Log10(1)  = 0

Log10(5)  = 0.698970004336019

Log10(10) = 1

==========

int1 = 37

int2 = 38

Max(int1, int2) = 38

==========

Max(v, int1) = 37.5

==========

int1 = 37

int2 = 38

Min(int1, int2) = 37

==========

Min(v, int1) = 37.5

==========

15 squared = 225

17 squared = 289 (see code above)

Infinity squared = Infinity

==========

Square root of 225 = 15

Square root of   3.456 = 1.859032006180

Square root of Infinity = Infinity 

 

 

mytoggle_plus1JS output

function W3Button21Click(Self, Sender$19) {

      var v$5 = 0;

      var int1 = 0;

      var int2 = 0;

      var int3 = 0;

      var number = 0;

      var squared = 0;

      var num = 0;

      var squareRoot = 0;

      v$5 = 0.693147180559945;

      WriteLn(("Ln(2) = "+FloatToStr$_Float_(v$5)));

      v$5 = Math.exp(v$5);

      WriteLn(("Exp(Ln(2)) = "+FloatToStr$_Float_(v$5)));

      WriteLn("==========");

      v$5 = 0.693147180559945;

      WriteLn(("Ln(2) = "+FloatToStr$_Float_(v$5)));

      v$5 = Math.exp(v$5);

      WriteLn(("Exp(Ln(2)) = "+FloatToStr$_Float_(v$5)));

      WriteLn("==========");

      WriteLn("Log10(1)  = 0");

      WriteLn("Log10(5)  = 0.698970004336019");

      WriteLn("Log10(10) = 1");

      WriteLn("==========");

      int1 = 37;

      int2 = 38;

      int3 = Math.max(int1,int2);

      WriteLn(("int1 = "+int1.toString()));

      WriteLn(("int2 = "+int2.toString()));

      WriteLn(("Max(int1, int2) = "+int3.toString()));

      WriteLn("==========");

      int1 = 37;

      v$5 = 37.5;

      v$5 = Math.max(v$5,int1);

      WriteLn(("Max(v, int1) = "+FloatToStr$_Float_(v$5)));

      WriteLn("==========");

      int1 = 37;

      int2 = 38;

      int3 = Math.min(int1,int2);

      WriteLn(("int1 = "+int1.toString()));

      WriteLn(("int2 = "+int2.toString()));

      WriteLn(("Min(int1, int2) = "+int3.toString()));

      WriteLn("==========");

      int1 = 38;

      v$5 = 37.5;

      v$5 = Math.min(v$5,int1);

      WriteLn(("Min(v, int1) = "+FloatToStr$_Float_(v$5)));

      WriteLn("==========");

      WriteLn("==========");

      number = 15;

      squared = (number*number);

      WriteLn((number.toString()+" squared = "+squared.toString()));

      number = 17;

      squared = (number*number);

      WriteLn((number.toString()+" squared = "+squared.toString()+" (see code above)"));

      v$5 = Infinity;

      v$5 = (v$5*v$5);

      WriteLn(("Infinity squared = "+v$5.toString()));

      WriteLn("==========");

      number = 225;

      squareRoot = Math.sqrt(number);

      WriteLn(("Square root of "+number.toString()+" = "+squareRoot.toString()));

      num = 3.456;

      squareRoot = Math.sqrt(num);

      WriteLn(Format("Square root of %7.3f = %12.12f",[num, squareRoot]));

      num = Infinity;

      num = Math.sqrt(num);

      WriteLn(("Square root of Infinity = "+num.toString()));

   }