[[FrontPage]]

** 指数、対数の計算 [#cc1231bd]

組み込み等の制限された環境では浮動小数点はサポートされていなかったり、サポートされていても超越関数がなかったりする。

超越関数に関しては級数展開によって基本的演算から実現できる。FPUを持たないCPU用に
OSがライブラリとして提供しているものもある。

http://cvsweb.netbsd.org/bsdweb.cgi/src/lib/libm/noieee_src/n_exp.c?annotate=1.7 

http://cvsweb.netbsd.org/bsdweb.cgi/src/lib/libm/noieee_src/n_log.c?annotate=1.6


** リンク [#w0345e86]

追加

:Half Float Library|http://yaneuraou.yaneu.com/2017/05/29/half-float-library%E4%BD%9C%E3%82%8A%E3%81%BE%E3%81%97%E3%81%9F/ ~
機械学習で使う用にhalf float(16-bit float)の演算ライブラリ作りました。と言ってもfloat型がIEEE 754の形式であることを仮定して、符号bitと指数部、小数部をそのままとってきてuint16_tに変換する、みたいな感じのお手軽実装ですが

:1K tiny & fast lib for doing addition, subtraction, multiplication and division operations precisely |https://github.com/dt-fe/number-precision

:この前教えて頂いた、高速にsqrtを計算する闇コードなのです|https://twitter.com/yukata_yu/statuses/1046445082788814848
https://en.m.wikipedia.org/wiki/Fast_inverse_square_root

*** 数値計算 [#o3939bf2]

:3.多項式計算アルゴリズム|http://www.akita-pu.ac.jp/system/elect/comp1/kusakari/japanese/teaching/SoftTech/2004/note/3/
:水先案内: C++による数値計算|http://www.fluidlab.naoe.t.u-tokyo.ac.jp/~minnie/Pilotage/comp.html
:初等関数の計算|http://na-inet.jp/nasoft/chap05.pdf
:Everyware Project Page|http://everyware.sourceforge.net/ ~
ポータビリティを目指した基本的演算ライブラリ
:SoftFloat|http://www.jhauser.us/arithmetic/SoftFloat.html ~
ansi Cで書かれたライブラリ。
:Hardware Algorithm / "Scene Research Station"|http://kmkz.jp/mtm/?load=hdl#exp ~
ハードウェアとはうたわれているが計算の簡略化の考え方がソフトの場合も同じで参考になる。
:数値 計算 ガイド|http://www.scl.kyoto-u.ac.jp/scl/appli/appli_manual/SUNWspro/WS6U2/ja/manuals/common/ncg/ncg.pdf ~
SUNのドキュメント。ieee-754のフォーマット、演算の注意点などについて知っておくべきことが記されている。
:Bibliography (Japanese)|http://www-amano.aa.cs.keio.ac.jp/members/kawaguti/memofpu/biblio.jp.html  ~
数値演算に関する参考文献リスト
:IEEE754と数値計算|http://www.ma.is.saga-u.ac.jp/minamoto/doc/kyudai.pdf


:log function with 3D Now!|http://homepage1.nifty.com/herumi/adv/adv21.html
:午後なコード|http://homepage1.nifty.com/herumi/adv/adv43.html#015
:午後なコード|http://homepage1.nifty.com/herumi/adv/adv43.html#007 ~
具体的な計算簡略化の過程が記されている。非常に参考になる

:Radium Software Development|http://www.radiumsoftware.com/0303.html ~
超高速のexpルーチン。(反則気味)

:指数関数に関わる浮動小数点数のクイズ|http://homepage1.nifty.com/herumi/diary/1003.html#4 ~
同じ数を足して引く+b-bの秘密も

:指数関数に関わる浮動小数点数のクイズ(解答編)|http://d.hatena.ne.jp/nishiohirokazu/20100308/1268038641 ~


:固定小数点演算|http://www2.muroran-it.ac.jp/circle/mpc/program/algorithm/fixedpoint/index.html

:翻訳:平方根を使わずに高速で2点間の距離を近似する - きしだのはてな|http://d.hatena.ne.jp/nowokay/20120604#1338773843

:flipcode - Fast Approximate Distance Functions|http://www.flipcode.com/archives/Fast_Approximate_Distance_Functions.shtml

:Z80 Routines - Math - WikiTI|http://wikiti.brandonw.net/index.php?title=Category:Z80_Routines:Math

:(1+x)^n ≒ 1+nx  ただし x<<1 の近似式ってもう忘れ去られた技術なのかいのぉ。|https://twitter.com/I_HaL/status/637825754063990784

*** 数値演算システム [#adedf014]

:数値・数式処理システム概要|http://www.bekkoame.ne.jp/~ponpoko/Math/Math.html ~
matlab とか scilib とか octaveとかの紹介
:The Netlib|http://www.netlib.org/

トップ   一覧 単語検索 最終更新   ヘルプ   最終更新のRSS