num4diff 0.5.1 → 0.5.2
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 +5 -0
- data/ext/num4diff/CNum4Diff.c +9 -6
- 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: 4032b47cfd83b41e99e62fb6d2f7085af8c17692de3a7f40abc3480073213d28
|
4
|
+
data.tar.gz: 725a5365017a298863de4504382f47ef2340e0b52976eb925164269509809991
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 810201bbeef874ac1c946cf454815fb0eb7dcc72cadd5b4ffd5f1150c3bcb5942e342127ef1b2440794a44e797e40922ab5aae55d8ba7be42fb63ab69ec7bcef
|
7
|
+
data.tar.gz: e330e6e32a55a08798682bdcd83e47b4e9b591d2489491884f07a43b86b530ae95628c2b08578ef112adbd13526a8ddc96645afa437ecfb078436597e3ffd2c5
|
data/CHANGELOG.md
CHANGED
data/ext/num4diff/CNum4Diff.c
CHANGED
@@ -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 +=
|
155
|
+
bk += ptBash->bv[i] * f[i];
|
155
156
|
}
|
156
|
-
y = f[0] + h * bk /
|
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 +=
|
189
|
+
bk += ptBash->bv[i] * f[i];
|
187
190
|
f2[i + 1] = f[i];
|
188
191
|
}
|
189
|
-
y_pred = f[0] + h * bk /
|
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 +=
|
197
|
+
bk += ptMoulton->bv[i] * f2[i];
|
195
198
|
}
|
196
|
-
y = f[0] + h * bk /
|
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.
|
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-
|
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.
|
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:
|