num4diff 0.5.1 → 0.5.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.
- 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:
|