num4simdiff 0.0.1 → 0.0.3

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.
Files changed (5) hide show
  1. checksums.yaml +4 -4
  2. data/.yardopts +1 -0
  3. data/CHANGELOG.md +8 -0
  4. data/lib/num4simdiff.rb +44 -39
  5. metadata +4 -3
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 84111ebd98c9c8f7f000733a780973aa030185287c716b15d4a6d7ef5c62424d
4
- data.tar.gz: 86d00d4725e4af07cfb5aff14647be96645f8c8fa17080f310da93817e0ca4cd
3
+ metadata.gz: 95091b2bd9e2416f649f80e1e5448759e7886de139a14444b685052cf7b20ee1
4
+ data.tar.gz: 236099213bb0bbc094763d2417491da6ba4fb42eca0cc4c0b3e194dd4d3c4ed9
5
5
  SHA512:
6
- metadata.gz: 93a012aff1ff1fd8f8614c483f12836e3ff5e8c0d39adbf1f8c277503c9669d36f4665b7a9d9397cd5ce5d572ceefd8b8a49e13b4c073074e3176fa9be0d0ad4
7
- data.tar.gz: c6c1d8bb3a3f35f82becdf0a584d7c9971593d3435296e39c9cb349a8b82095193c979a6172f2423b719780430a5afc1edf7f20e2c984f1e6d14a72094207cba
6
+ metadata.gz: 5707ff3d96a6f47054da58fa00b345d2099942d9c79c8461f86546c348c51a2205be8beeccdecfc0074ef39b46c825989a2a2a0b31229ce3d03d8cdde388fc93
7
+ data.tar.gz: e29c905c5df822e684813c9d6daa5e5aa2a2e51971fa7d767701773a8c12cf7313b3e491d3a5e13ce4f85113255715f8570fca5afcce16df94e938df80bb28ed
data/.yardopts ADDED
@@ -0,0 +1 @@
1
+ --no-private
data/CHANGELOG.md CHANGED
@@ -2,6 +2,14 @@
2
2
 
3
3
  ## Unreleased
4
4
 
5
+ ## [0.0.2] - 2023-04-30
6
+
7
+ ### Added
8
+ - add rdoc_options in gemspec file
9
+
10
+ ### Changed
11
+ - rdoc comment
12
+
5
13
  ## [0.0.1] - 2023-04-29
6
14
 
7
15
  ### Fixed
data/lib/num4simdiff.rb CHANGED
@@ -9,64 +9,64 @@ module Num4SimDiffLib
9
9
 
10
10
  # @overload f(x, dx)
11
11
  # dy = f(x, dx)
12
- # @yield [x] dy = f(x, dx)
12
+ # @yield [x, dx] dy = f(x, dx)
13
13
  # @yieldparam [double] x xiの値
14
14
  # @yieldparam [double] dx xiの値
15
15
  # @return [double] xiに対するyの値
16
16
  callback :f, [:double, :double], :double
17
17
 
18
- #
19
- # オイラー法による数値計算
20
- # @overload eulerMethod(yi, xi, h, func1, func2)
21
- # yi_1 = eulerMethod(yi, xi, h, func1, func2)
22
- # @param [double] yi xiに対するyiの値(配列)
23
- # @param [double] xi xiの値
24
- # @param [double] h 刻み幅
25
- # @param [callback] func1 xiに対する傾きを計算する関数
26
- # @param [callback] func2 xiに対する傾きを計算する関数
27
- # @return [double] xi+hに対するyi_1の値(配列)
28
- #
29
18
  attach_function :eulerMethodFFI,
30
19
  :CNum4SimDiff_eulerMethod, [:buffer_in, :double, :double, :f, :f], :pointer
31
- #
32
- # ホイン法による数値計算
33
- # @overload heunMethod(yi, xi, h, func1, func2)
34
- # yi_1 = heunMethod(yi, xi, h, func1, func2)
35
- # @param [double] yi xiに対するyiの値(配列)
36
- # @param [double] xi xiの値
37
- # @param [double] h 刻み幅
38
- # @param [callback] func1 xiに対する傾きを計算する関数
39
- # @param [callback] func2 xiに対する傾きを計算する関数
40
- # @return [double] xi+hに対するyi_1の値(配列)
41
- #
42
20
  attach_function :heunMethodFFI,
43
21
  :CNum4SimDiff_heunMethod, [:buffer_in, :double, :double, :f, :f], :pointer
44
- #
45
- # 4次のルンゲ=クッタ法による数値計算
46
- # @overload rungeKuttaMethod(yi, xi, h, func1, func2)
47
- # yi_1 = rungeKuttaMethod(yi, xi, h, func1, func2)
48
- # @param [double] yi xiに対するyiの値(配列)
49
- # @param [double] xi xiの値
50
- # @param [double] h 刻み幅
51
- # @param [callback] func1 xiに対する傾きを計算する関数
52
- # @param [callback] func2 xiに対する傾きを計算する関数
53
- # @return [double] xi+hに対するyi_1の値(配列)
54
- #
55
22
  attach_function :rungeKuttaMethodFFI,
56
23
  :CNum4SimDiff_rungeKuttaMethod, [:buffer_in, :double, :double, :f, :f], :pointer
57
24
  class << self
58
- def eulerMethod(yi, x, h, func1, func2)
25
+ #
26
+ # オイラー法による数値計算
27
+ # @overload eulerMethod(yi, xi, h, func1, func2)
28
+ # yi_1 = eulerMethod(yi, xi, h, func1, func2)
29
+ # @param [double] yi xiに対するyiの値(配列)
30
+ # @param [double] xi xiの値
31
+ # @param [double] h 刻み幅
32
+ # @param [callback] func1 xiに対する傾きを計算する関数
33
+ # @param [callback] func2 xiに対する傾きを計算する関数
34
+ # @return [double] xi+hに対するyi_1の値(配列)
35
+ #
36
+ def eulerMethod(yi, xi, h, func1, func2)
59
37
  yi_ptr = cnvRbAry2pt(2, yi)
60
- yi_1_ptr = eulerMethodFFI(yi_ptr, x, h, func1, func2)
38
+ yi_1_ptr = eulerMethodFFI(yi_ptr, xi, h, func1, func2)
61
39
  yi_1 = cnvPt2RbAry(2, yi_1_ptr)
62
40
  return 1 + yi_1[0] + 0.5 * yi_1[1]
63
41
  end
64
- def heunMethod(yi, x, h, func1, func2)
42
+ #
43
+ # ホイン法による数値計算
44
+ # @overload heunMethod(yi, xi, h, func1, func2)
45
+ # yi_1 = heunMethod(yi, xi, h, func1, func2)
46
+ # @param [double] yi xiに対するyiの値(配列)
47
+ # @param [double] xi xiの値
48
+ # @param [double] h 刻み幅
49
+ # @param [callback] func1 xiに対する傾きを計算する関数
50
+ # @param [callback] func2 xiに対する傾きを計算する関数
51
+ # @return [double] xi+hに対するyi_1の値(配列)
52
+ #
53
+ def heunMethod(yi, xi, h, func1, func2)
65
54
  yi_ptr = cnvRbAry2pt(2, yi)
66
- yi_1_ptr = heunMethodFFI(yi_ptr, x, h, func1, func2)
55
+ yi_1_ptr = heunMethodFFI(yi_ptr, xi, h, func1, func2)
67
56
  yi_1 = cnvPt2RbAry(2, yi_1_ptr)
68
57
  return 1 + yi_1[0] + 0.5 * yi_1[1]
69
58
  end
59
+ #
60
+ # 4次のルンゲ=クッタ法による数値計算
61
+ # @overload rungeKuttaMethod(yi, xi, h, func1, func2)
62
+ # yi_1 = rungeKuttaMethod(yi, xi, h, func1, func2)
63
+ # @param [double] yi xiに対するyiの値(配列)
64
+ # @param [double] xi xiの値
65
+ # @param [double] h 刻み幅
66
+ # @param [callback] func1 xiに対する傾きを計算する関数
67
+ # @param [callback] func2 xiに対する傾きを計算する関数
68
+ # @return [double] xi+hに対するyi_1の値(配列)
69
+ #
70
70
  def rungeKuttaMethod(yi, x, h, func1, func2)
71
71
  yi_ptr = cnvRbAry2pt(2, yi)
72
72
  yi_1_ptr = rungeKuttaMethodFFI(yi_ptr, x, h, func1, func2)
@@ -74,7 +74,9 @@ module Num4SimDiffLib
74
74
  return 1 + yi_1[0] + 0.5 * yi_1[1]
75
75
  end
76
76
 
77
-
77
+ #
78
+ # @private
79
+ #
78
80
  def cnvRbAry2pt(n, ary)
79
81
  yi_ptr = FFI::MemoryPointer.new(:double, n)
80
82
  n.times.map { |i|
@@ -82,6 +84,9 @@ module Num4SimDiffLib
82
84
  }
83
85
  return yi_ptr
84
86
  end
87
+ #
88
+ # @private
89
+ #
85
90
  def cnvPt2RbAry(n, pt)
86
91
  rbAry = n.times.map { |i|
87
92
  pt.get_double(i * Fiddle::SIZEOF_DOUBLE)
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: num4simdiff
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - siranovel
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-04-17 00:00:00.000000000 Z
11
+ date: 2023-05-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: ffi-compiler
@@ -57,6 +57,7 @@ extensions:
57
57
  - ext/num4simdiff/Rakefile
58
58
  extra_rdoc_files: []
59
59
  files:
60
+ - ".yardopts"
60
61
  - CHANGELOG.md
61
62
  - Gemfile
62
63
  - LICENSE
@@ -69,7 +70,7 @@ licenses:
69
70
  - MIT
70
71
  metadata:
71
72
  changelog_uri: http://github.com/siranovel/num4simdiffrent/blob/main/CHANGELOG.md
72
- documentation_uri: https://rubydoc.info/gems/num4simdiff/0.0.1
73
+ documentation_uri: https://rubydoc.info/gems/num4simdiff/0.0.3
73
74
  homepage_uri: http://github.com/siranovel/num4simdiffrent
74
75
  post_install_message:
75
76
  rdoc_options: []