掲示板利用宣言

 次のフォームをすべてチェックしてからご利用ください。

 私は

 題名と投稿者名は具体的に書きます。
 課題の丸投げはしません。
 ソースの添付は「HTML変換ツール」で字下げします。
 返信の引用は最小限にします。
 環境(OSとコンパイラ)や症状は具体的に詳しく書きます。
 返信の付いた投稿は削除しません。
 マルチポスト(多重投稿)はしません。

掲示板2

管理者用メニュー    ツリーに戻る    携帯用URL    ホームページ    ログ    タグ一覧

No.26340

acos関数の自作
投稿者---ken2(2006/03/06 22:51:07)


acos関数を自作しようと思ってるのですが、
力量不足でどうやって作ればいいかわかりません。
あまり本質的な部分でもなく時間をかけたくないので、
何かアドバイスをいただければと思い投稿しました。
すいませんが、よろしくお願いします。


この投稿にコメントする

削除パスワード

発言に関する情報 題名 投稿番号 投稿者名 投稿日時
<子記事> Re:acos関数の自作 26341 YuO 2006/03/06 23:25:30
<子記事> Re:acos関数の自作 26342 たかぎ 2006/03/07 13:13:33


No.26341

Re:acos関数の自作
投稿者---YuO(2006/03/06 23:25:30)


>acos関数を自作しようと思ってるのですが、
>力量不足でどうやって作ればいいかわかりません。

どういう目的で自作しようとしているのですか?
目的によって,答えが大幅に変わってくると思いますが。
# たいていの場合,素直にacos使え,という結果になりそうですが。

例えば,三角関数の関係を使えば,逆正接関数を使って逆余弦関数を実装することが出来ます。
# 主値の範囲の違いがあるので,後処理がでますが (πを足して,πで割った剰余になる)。

また,数学的に展開された式を使えば算出できますし,離散値のみを扱うなら表引きという手もあります。



この投稿にコメントする

削除パスワード

No.26342

Re:acos関数の自作
投稿者---たかぎ(2006/03/07 13:13:33)
http://takagi.in/


>あまり本質的な部分でもなく時間をかけたくないので、

普通は勉強目的とか、処理系を開発しているとか、より効率のよいacos関数が欲しいなどの理由がなければ、既存のacos関数を使うはずですよね。そういった場合は本質的な問題かと思います。というわけで、本質的でない理由をいくつか想像してみました。

・複素数を使いたいが、C99やC++ではないので自作が必要。
・フリースタンディング環境なのでacos関数がサポートされていない。
・独自の書式の数値データを使用している。

ほかにはちょっと思いつきません。
YuOさんのご指摘どおり、自作すべき理由によって、選択が変わるはずです。



この投稿にコメントする

削除パスワード

No.26343

Re:acos関数の自作
投稿者---ken2(2006/03/07 14:32:29)


YuOさん、たかぎさんレスありがとうございます。

>・フリースタンディング環境なのでacos関数がサポートされていない。
はい。フリースタンディング環境というのがよくわからないですが、
私の環境では、acos関数がないので自作しようと思いました。

>また,数学的に展開された式を使えば算出できますし,
これはテイラー展開とかでしょうか?

>例えば,三角関数の関係を使えば,逆正接関数を使って逆余弦関数を実装することが出来ます。
三角関数も逆正接関数サポートされてません。sin関数(もどき)はテーブル
使って自作してあるんですが。

でもお二方の意見でなんとなく見えたこともあるのでとりあえず作ってみます。
ありがとうございました。



この投稿にコメントする

削除パスワード

No.26344

Re:acos関数の自作
投稿者---たかぎ(2006/03/07 15:20:15)
http://takagi.in/


>>・フリースタンディング環境なのでacos関数がサポートされていない。
>はい。フリースタンディング環境というのがよくわからないですが、
>私の環境では、acos関数がないので自作しようと思いました。

フリースタンディング環境というのは、早い話が組み込み機器などのOSがない(またはμITRONのような簡単なカーネルのみの)環境のことです。
当たらずとも遠からずではないでしょうか。

大体状況が見えてきました。acos関数のソースを入手することはできても、ライセンス上の問題で丸写しできないことが引っかかっているとかではないですか?
それなら、mingw-runtimeがPublic domainのはずなので、それを丸写しするとよいでしょう。



この投稿にコメントする

削除パスワード

管理者用メニュー    ツリーに戻る    携帯用URL    ホームページ    ログ    タグ一覧