num4diff 0.5.1 → 0.5.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (4) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +10 -0
  3. data/ext/num4diff/CNum4Diff.c +13 -8
  4. metadata +3 -3
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 236c79b20fa3b5aff7de7ac41181c458a3d42cf2c846e8a1d9e01265729fd762
4
- data.tar.gz: d0ace9350577ba3cadeaa37f05061a406274194357b8912df2890efc1c0f4e38
3
+ metadata.gz: 29001c8ab562e1167f790ad60e1aad72bb7911a1fdd93f6124437818bf1d6ace
4
+ data.tar.gz: 252f28a67131a94080d1226462ec8759c3362a19abfa31c3d315069cadc74dbe
5
5
  SHA512:
6
- metadata.gz: d125cbc9bfdc8cc65ff57c9057c579ce1030c167f60af69c5723dc3c08d71fcb2c36822df3671dab5b0ca944b62de885e21e795943739e31b22d8505464ed3c9
7
- data.tar.gz: ee2914de197552cd9be54a17e135da56cfb2a0ef36076fb14d66bedf379b3acf31d07f4a1db95a14d9d2aa0e39fdf38b8326979f200f59e4cb8b6fed44306b67
6
+ metadata.gz: ac10c3cbcee6872cfeacf33830aea5515cf9a3756dcc8388cb2c5af1da463118d9d9181bbbfb715ff53cd649075f013cff6fbad244ae9e1ce1cacf4c9c3825ac
7
+ data.tar.gz: 6707b0b1feac33281df4d61d25c8b89c475fd208f62ad2d14e45af0b0cccb443beac22b59e89071c0126876dcd843778ee5bf84fe2d54862d2cf467a4cab8176
data/CHANGELOG.md CHANGED
@@ -2,6 +2,16 @@
2
2
 
3
3
  ## Unreleased
4
4
 
5
+ ## [0.5.2] - 2023-07-02
6
+
7
+ ### Fixed
8
+ - change bug for adamsBashforthMethod and adamsMoultonMethod.
9
+
10
+ ## [0.5.2] - 2023-06-08
11
+
12
+ ### Fixed
13
+ - Fix refactor to adamsBashforthMethod and adamsMoultonMethod.
14
+
5
15
  ## [0.5.1] - 2023-05-18
6
16
 
7
17
  ### Fixed
@@ -141,19 +141,21 @@ 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++) {
147
148
  f[k - (i + 2)] = CNum4Diff_Tier_rungeKuttaMethod(f[k - (i + 1)], xi, h, func);
149
+ xi = xi + h;
148
150
  }
149
- for (xi = xi + h; xi < b; xi += h) {
151
+ for (xi = xi; xi < b; xi += h) {
150
152
  f[0] = CNum4Diff_Tier_rungeKuttaMethod(f[1], xi, h, func);
151
153
  // 予測子
152
154
  bk = 0.0;
153
155
  for (i = 0; i < k; i++) {
154
- bk += bash[k - 2].bv[i] * f[i];
156
+ bk += ptBash->bv[i] * f[i];
155
157
  }
156
- y = f[0] + h * bk / bash[k - 2].s;
158
+ y = f[0] + h * bk / ptBash->s;
157
159
  // f値をずらす
158
160
  for (i = 0; i < k - 1; i++) {
159
161
  f[k - (i + 1)] = f[k - (i + 2)];
@@ -173,27 +175,30 @@ static double CNum4Diff_doAdamsMoultonMethod(int k, double a, double b, double y
173
175
  double *f2 = malloc(sizeof(double) * (k + 1));
174
176
  int i;
175
177
  double bk;
178
+ AdamsTbl *ptBash = &bash[k - 2];
179
+ AdamsTbl *ptMoulton = &moulton[k - 2];
176
180
 
177
181
  f[k - 1] = y0;
178
182
  for (i = 0; i < k - 2; i++) {
179
183
  f[k - (i + 2)] = CNum4Diff_Tier_rungeKuttaMethod(f[k - (i + 1)], xi, h, func);
184
+ xi = xi + h;
180
185
  }
181
- for (xi = xi + h; xi < b; xi += h) {
186
+ for (xi = xi; xi < b; xi += h) {
182
187
  f[0] = CNum4Diff_Tier_rungeKuttaMethod(f[1], xi, h, func);
183
188
  // 予測子
184
189
  bk = 0.0;
185
190
  for (i = 0; i < k; i++) {
186
- bk += bash[k - 2].bv[i] * f[i];
191
+ bk += ptBash->bv[i] * f[i];
187
192
  f2[i + 1] = f[i];
188
193
  }
189
- y_pred = f[0] + h * bk / bash[k - 2].s;
194
+ y_pred = f[0] + h * bk / ptBash->s;
190
195
  f2[0] = y_pred;
191
196
  // 修正子
192
197
  bk = 0.0;
193
198
  for (i = 0; i < k; i++) {
194
- bk += moulton[k - 2].bv[i] * f2[i];
199
+ bk += ptMoulton->bv[i] * f2[i];
195
200
  }
196
- y = f[0] + h * bk / moulton[k - 2].s;
201
+ y = f[0] + h * bk / ptMoulton->s;
197
202
  // f値をずらす
198
203
  for (i = 0; i < k - 1; i++) {
199
204
  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.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-05-18 00:00:00.000000000 Z
11
+ date: 2023-07-02 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.3
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: