num4diff 0.0.20 → 0.0.22
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/ext/num4diff/libnum4diff.so +0 -0
- data/lib/num4diff.rb +32 -4
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 11beab66abec9bf696ee9b5c236dd40e78c5b98d79eea57839149153c01829b9
|
4
|
+
data.tar.gz: 8389c5b61a387a0eef3cfa7fe251743a25028ba937d74eabf6bd6ab53d81e7d0
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 47df3270e03fd56b3ff55ac29ddcd5b0ed8a1a9d48d2ff113c3bf6081966cbf266fb649f0246fabd3b851dd3db5a80adcd5695702e3f2d4cfad3b84314326c1d
|
7
|
+
data.tar.gz: df43a0e2609a1d6b8d5f545d38316805bdfb9f006cdf29c8e41c9619f58fe9ef3435ea8d28866c334084a639ca7ec67e10a7d846ae5511358c7544825710684d
|
data/ext/num4diff/libnum4diff.so
CHANGED
Binary file
|
data/lib/num4diff.rb
CHANGED
@@ -1,19 +1,47 @@
|
|
1
1
|
require 'ffi'
|
2
2
|
|
3
|
+
#
|
4
|
+
# 数値計算による常微分方程式の解法するライブラリ
|
5
|
+
#
|
3
6
|
module Num4DiffLib
|
4
7
|
extend FFI::Library
|
5
8
|
spec = Gem.loaded_specs["num4diff"]
|
6
9
|
gem_root = spec.gem_dir
|
7
10
|
ffi_lib ["#{gem_root}/ext/num4diff/libnum4diff.so"]
|
8
|
-
# y = f(xi)
|
11
|
+
# y = f(xi)
|
12
|
+
# @param [double] xi xiの値
|
13
|
+
# @return [double] y xiに対するyの値
|
9
14
|
callback :f, [:double], :double
|
10
|
-
|
15
|
+
|
16
|
+
#
|
17
|
+
# オイラー法による数値計算
|
18
|
+
# yi_1 = eulerMethod(yi, xi, h, func)
|
19
|
+
# @param [double] yi xiに対するyiの値
|
20
|
+
# @param [double] xi xiの値
|
21
|
+
# @param [double] h 刻み幅
|
22
|
+
# @param [callback] func xiに対する微分を計算する関数
|
23
|
+
# @return [double] yi_1 xi+hに対するyiの値
|
24
|
+
#
|
11
25
|
attach_function :eulerMethod,
|
12
26
|
:CNum4Diff_eulerMethod, [:double, :double, :double, :f], :double
|
13
|
-
#
|
27
|
+
# ホイン法による数値計算
|
28
|
+
# yi_1 = heunMethod(yi, xi, h, func)
|
29
|
+
# @param [double] yi xiに対するyiの値
|
30
|
+
# @param [double] xi xiの値
|
31
|
+
# @param [double] h 刻み幅
|
32
|
+
# @param [callback] func xiに対する微分を計算する関数
|
33
|
+
# @return [double] yi_1 xi+hに対するyiの値
|
34
|
+
#
|
14
35
|
attach_function :heunMethod,
|
15
36
|
:CNum4Diff_heunMethod, [:double, :double, :double, :f], :double
|
16
|
-
#
|
37
|
+
#
|
38
|
+
# 4次のルンゲ=クッタ法による数値計算
|
39
|
+
# yi_1 = rungeKuttaMethod(yi, xi, h, func)
|
40
|
+
# @param [double] yi xiに対するyiの値
|
41
|
+
# @param [double] xi xiの値
|
42
|
+
# @param [double] h 刻み幅
|
43
|
+
# @param [callback] func xiに対する微分を計算する関数
|
44
|
+
# @return [double] yi_1 xi+hに対するyiの値
|
17
45
|
attach_function :rungeKuttaMethod,
|
18
46
|
:CNum4Diff_rungeKuttaMethod, [:double, :double, :double, :f], :double
|
19
47
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: num4diff
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.22
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- siranovel
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-
|
11
|
+
date: 2022-04-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: ffi
|
@@ -61,5 +61,5 @@ requirements: []
|
|
61
61
|
rubygems_version: 3.0.3.1
|
62
62
|
signing_key:
|
63
63
|
specification_version: 4
|
64
|
-
summary: num for
|
64
|
+
summary: num for different!
|
65
65
|
test_files: []
|