num4diff 0.5.1 → 0.5.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 236c79b20fa3b5aff7de7ac41181c458a3d42cf2c846e8a1d9e01265729fd762
4
- data.tar.gz: d0ace9350577ba3cadeaa37f05061a406274194357b8912df2890efc1c0f4e38
3
+ metadata.gz: 4032b47cfd83b41e99e62fb6d2f7085af8c17692de3a7f40abc3480073213d28
4
+ data.tar.gz: 725a5365017a298863de4504382f47ef2340e0b52976eb925164269509809991
5
5
  SHA512:
6
- metadata.gz: d125cbc9bfdc8cc65ff57c9057c579ce1030c167f60af69c5723dc3c08d71fcb2c36822df3671dab5b0ca944b62de885e21e795943739e31b22d8505464ed3c9
7
- data.tar.gz: ee2914de197552cd9be54a17e135da56cfb2a0ef36076fb14d66bedf379b3acf31d07f4a1db95a14d9d2aa0e39fdf38b8326979f200f59e4cb8b6fed44306b67
6
+ metadata.gz: 810201bbeef874ac1c946cf454815fb0eb7dcc72cadd5b4ffd5f1150c3bcb5942e342127ef1b2440794a44e797e40922ab5aae55d8ba7be42fb63ab69ec7bcef
7
+ data.tar.gz: e330e6e32a55a08798682bdcd83e47b4e9b591d2489491884f07a43b86b530ae95628c2b08578ef112adbd13526a8ddc96645afa437ecfb078436597e3ffd2c5
data/CHANGELOG.md CHANGED
@@ -2,6 +2,11 @@
2
2
 
3
3
  ## Unreleased
4
4
 
5
+ ## [0.5.2] - 2023-06-08
6
+
7
+ ### Fixed
8
+ - Fix refactor to adamsBashforthMethod and adamsMoultonMethod.
9
+
5
10
  ## [0.5.1] - 2023-05-18
6
11
 
7
12
  ### Fixed
@@ -141,6 +141,7 @@ static double CNum4Diff_doAdamsBashforthMethod(int k, double a, double b, double
141
141
  double *f = malloc(sizeof(double) * k);
142
142
  int i;
143
143
  double bk;
144
+ AdamsTbl *ptBash = &bash[k - 2];
144
145
 
145
146
  f[k - 1] = y0;
146
147
  for (i = 0; i < k - 2; i++) {
@@ -151,9 +152,9 @@ static double CNum4Diff_doAdamsBashforthMethod(int k, double a, double b, double
151
152
  // 予測子
152
153
  bk = 0.0;
153
154
  for (i = 0; i < k; i++) {
154
- bk += bash[k - 2].bv[i] * f[i];
155
+ bk += ptBash->bv[i] * f[i];
155
156
  }
156
- y = f[0] + h * bk / bash[k - 2].s;
157
+ y = f[0] + h * bk / ptBash->s;
157
158
  // f値をずらす
158
159
  for (i = 0; i < k - 1; i++) {
159
160
  f[k - (i + 1)] = f[k - (i + 2)];
@@ -173,6 +174,8 @@ static double CNum4Diff_doAdamsMoultonMethod(int k, double a, double b, double y
173
174
  double *f2 = malloc(sizeof(double) * (k + 1));
174
175
  int i;
175
176
  double bk;
177
+ AdamsTbl *ptBash = &bash[k - 2];
178
+ AdamsTbl *ptMoulton = &moulton[k - 2];
176
179
 
177
180
  f[k - 1] = y0;
178
181
  for (i = 0; i < k - 2; i++) {
@@ -183,17 +186,17 @@ static double CNum4Diff_doAdamsMoultonMethod(int k, double a, double b, double y
183
186
  // 予測子
184
187
  bk = 0.0;
185
188
  for (i = 0; i < k; i++) {
186
- bk += bash[k - 2].bv[i] * f[i];
189
+ bk += ptBash->bv[i] * f[i];
187
190
  f2[i + 1] = f[i];
188
191
  }
189
- y_pred = f[0] + h * bk / bash[k - 2].s;
192
+ y_pred = f[0] + h * bk / ptBash->s;
190
193
  f2[0] = y_pred;
191
194
  // 修正子
192
195
  bk = 0.0;
193
196
  for (i = 0; i < k; i++) {
194
- bk += moulton[k - 2].bv[i] * f2[i];
197
+ bk += ptMoulton->bv[i] * f2[i];
195
198
  }
196
- y = f[0] + h * bk / moulton[k - 2].s;
199
+ y = f[0] + h * bk / ptMoulton->s;
197
200
  // f値をずらす
198
201
  for (i = 0; i < k - 1; i++) {
199
202
  f[k - (i + 1)] = f[k - (i + 2)];
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.5.1
4
+ version: 0.5.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - siranovel
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-05-18 00:00:00.000000000 Z
11
+ date: 2023-06-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: ffi-compiler
@@ -69,7 +69,7 @@ licenses:
69
69
  - MIT
70
70
  metadata:
71
71
  changelog_uri: http://github.com/siranovel/num4different/blob/main/CHANGELOG.md
72
- documentation_uri: https://rubydoc.info/gems/num4diff/0.5.1
72
+ documentation_uri: https://rubydoc.info/gems/num4diff/0.5.2
73
73
  homepage_uri: http://github.com/siranovel/num4different
74
74
  wiki_uri: https://github.com/siranovel/mydocs/tree/main/num4different
75
75
  post_install_message: