お知らせ

電子会議

ライブラリ

パレット

Delphi FAQ検索

Delphi FAQ一覧

サンプル蔵





FDelphi FAQ
16番会議室「玉石混淆みんなで作るSample蔵」に寄せられたサンプル

"数学関数ArcCos,power,etc."





function ArcCos(x:double):double;{アークコサインをラジアンで返す}
begin            {絶対値が1より大きな引き数を与えると,999を返す}
  try
    ArcCos := ArcTan (sqrt (1-sqr (x)) /x)
  except
    on EZeroDivide do
      ArcCos:=3.141592653589793238/2;
    else
    ArcCos:=999;
  end;
end;

function ArcSin(x:double):double;  {アークサインをラジアンで返す}
begin            {絶対値が1より大きな引き数を与えると,999を返す}
  try
    ArcSin := ArcTan (x/sqrt (1-sqr (x)))
  except
    on Ezerodivide do
    ArcSin:=x*3.141592653589793238/2;
  else
    ArcSin:=999;
  end;
end;

function sinh(x:double):double;  {sinh.簡単にオーバーフローするので注意}
begin
  sinh:=(exp(x)-exp(-x))/2;
end;

function cosh(x:double):double;  {cosh.簡単にオーバーフローするので注意}
begin
  cosh:=(exp(x)+exp(-x))/2;
end;

function power(x:double; y:double):double;  {xのy乗}
begin
  try
    power:=exp(y*ln(x));
  except
    power:=0;
  end;
end;

他に欲しい関数があれば,メールでご連絡下さい。可能な限り対処します。

---------------  SDI01000@niftyserve.or.jp        BLIZZARD  ----------------

Original document by BLIZZARD        氏 ID:(SDI01000)


ここにあるドキュメントは NIFTY SERVEの Delphi Users' Forum の16番会議室「玉石混淆みんなで作るSample蔵」に投稿されたサンプルです。これらのサンプルはボーランド株式会社がサポートする公式のものではありません。また、必ずしも動作が検証されているものではありません。これらのサンプルを使用したことに起因するいかなる損害も投稿者、およびフォーラムスタッフはその責めを負いません。使用者のリスクの範疇でご使用下さい。

Copyright 1996-2002 Delphi Users' Forum