はじめに
Elixirを触り数学関数を使ってみようとした時にすこしだけつまずいたので短いけどまとめる
Elixirの数学モジュール
elixirで実行できる数学関数
以下のサイトを参考にして使いそうなものだけ実行してみる
Elixir v1.2.0
絶対値
iex(1)> abs -1
1
iex(2)> abs 1
1
整数の除算
iex(1)> div 4, 2
2
iex(2)> div 4, 3
1
最大値と最小値
# min
iex(1)> min 6, 2
2
# 少数の比較
iex(21)> min 0.111, 0.2256
0.111
# max
iex(2)> max 6, 2
6
# 少数の比較
iex(2)> max 0.111, 0.2256
0.2256
# 最小値と最大値
iex(3)> Enum.min_max([2, 3, 1])
{1, 3}
四捨五入
iex(1)> round 5.11241
5
iex(2)> round 5.71241
6
Erlangのモジュールについて
数学関数がElixirで見つけられない場合はErlangのモジュールを使用する
以下のサイトから簡単なものだけ実行してみる
Erlang--math
π
iex(1)> :math.pi()
3.141592653589793
三角関数
# sin
ex(1)> :math.sin(0.5)
0.479425538604203
# cos
iex(2)> :math.cos(0.5)
0.8775825618903728
# tan
iex(3)> :math.tan(0.5)
0.5463024898437905
まとめ
- ElixirでErlangのモジュールが使用できるので、ない場合はそちらを利用できるので便利
参考文献
https://medium.com/@amuino/notes-on-elixir-math-a43e23e5068a#.wp3gjybqc
http://www.erlang.org/doc/man/math.html
http://elixir-lang.org/docs/master/elixir/Enum.html