num4diff 0.5.1 → 0.5.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +10 -0
- data/ext/num4diff/CNum4Diff.c +13 -8
- 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: 29001c8ab562e1167f790ad60e1aad72bb7911a1fdd93f6124437818bf1d6ace
|
4
|
+
data.tar.gz: 252f28a67131a94080d1226462ec8759c3362a19abfa31c3d315069cadc74dbe
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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
|
data/ext/num4diff/CNum4Diff.c
CHANGED
@@ -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
|
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 +=
|
156
|
+
bk += ptBash->bv[i] * f[i];
|
155
157
|
}
|
156
|
-
y = f[0] + h * bk /
|
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
|
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 +=
|
191
|
+
bk += ptBash->bv[i] * f[i];
|
187
192
|
f2[i + 1] = f[i];
|
188
193
|
}
|
189
|
-
y_pred = f[0] + h * bk /
|
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 +=
|
199
|
+
bk += ptMoulton->bv[i] * f2[i];
|
195
200
|
}
|
196
|
-
y = f[0] + h * bk /
|
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.
|
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-
|
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.
|
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:
|