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 +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:
|