Module: Num4EquLib
- Extended by:
- FFI::Library
- Defined in:
- lib/num4equ.rb
Overview
数値計算による方程式の解法ライブラリ
Class Method Summary collapse
-
.bisection(a, b, func) ⇒ double
二分法による解法.
-
.newtonMethod(a, func, dfunc) ⇒ double
ニュートン法による解法.
Class Method Details
.bisection(a, b, func) ⇒ double
43 44 45 46 47 48 49 50 51 52 |
# File 'lib/num4equ.rb', line 43 def bisectionMethod(a, b, func) ok_ptr = FFI::MemoryPointer.new :int x = bisectionMethodFFI(a, b, func, ok_ptr) ok = ok_ptr.read_int ok_ptr.free() if ok < 0 then raise RangeError.new("a:" + a.to_s + " " + "b:" + b.to_s) end return x end |
.newtonMethod(a, func, dfunc) ⇒ double
26 27 28 29 30 31 32 33 34 35 |
# File 'lib/num4equ.rb', line 26 def newtonMethod(a, func, dfunc) ok_ptr = FFI::MemoryPointer.new :int x = newtonMethodFFI(a, func, dfunc, ok_ptr) ok = ok_ptr.read_int ok_ptr.free() if ok < 0 then raise RangeError.new("a:" + a.to_s) end return x end |