lbfgsb 0.3.2 → 0.4.0
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/.clang-format +149 -0
- data/.github/workflows/build.yml +2 -2
- data/CHANGELOG.md +3 -0
- data/Gemfile +3 -1
- data/Steepfile +20 -0
- data/ext/lbfgsb/lbfgsbext.c +8 -15
- data/ext/lbfgsb/lbfgsbext.h +1 -0
- data/ext/lbfgsb/src/blas.c +6 -10
- data/ext/lbfgsb/src/blas.h +4 -4
- data/ext/lbfgsb/src/lbfgsb.c +96 -176
- data/ext/lbfgsb/src/lbfgsb.h +68 -109
- data/ext/lbfgsb/src/linpack.c +55 -53
- data/ext/lbfgsb/src/linpack.h +2 -2
- data/lib/lbfgsb/version.rb +1 -1
- data/sig/lbfgsb.rbs +31 -0
- data/sig/patch.rbs +11 -0
- metadata +10 -6
data/ext/lbfgsb/src/lbfgsb.h
CHANGED
@@ -1,122 +1,81 @@
|
|
1
1
|
#ifndef LBFGSB_RB_LBFGSB_H_
|
2
2
|
#define LBFGSB_RB_LBFGSB_H_
|
3
3
|
|
4
|
-
#include <stdio.h>
|
5
|
-
#include <stdlib.h>
|
6
4
|
#include <float.h>
|
7
5
|
#include <math.h>
|
6
|
+
#include <stdio.h>
|
7
|
+
#include <stdlib.h>
|
8
8
|
#include <string.h>
|
9
9
|
#include <time.h>
|
10
10
|
|
11
11
|
#define TRUE_ (1)
|
12
12
|
#define FALSE_ (0)
|
13
13
|
|
14
|
-
extern int setulb_(long
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
extern int
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
extern int
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
extern int
|
68
|
-
|
69
|
-
extern int
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
double *r__, long *itail, long *iupdat, long *col,
|
81
|
-
long *head, double *theta, double *rr, double *dr,
|
82
|
-
double *stp, double *dtd);
|
83
|
-
|
84
|
-
extern int prn1lb_(long *n, long *m, double *l,
|
85
|
-
double *u, double *x, long *iprint, long *itfile,
|
86
|
-
double *epsmch);
|
87
|
-
|
88
|
-
extern int prn2lb_(long *n, double *x, double *f,
|
89
|
-
double *g, long *iprint, long *itfile, long *iter,
|
90
|
-
long *nfgv, long *nact, double *sbgnrm, long *nseg, char*word,
|
91
|
-
long *iword, long *iback, double *stp, double *xstep);
|
92
|
-
|
93
|
-
extern int prn3lb_(long *n, double *x, double *f, char *task,
|
94
|
-
long *iprint, long *info, long *itfile, long *iter,
|
95
|
-
long *nfgv, long *nintol, long *nskip, long *nact,
|
96
|
-
double *sbgnrm, double *time, long *nseg, char *word,
|
97
|
-
long *iback, double *stp, double *xstep, long *k,
|
98
|
-
double *cachyt, double *sbtime, double *lnscht);
|
99
|
-
|
100
|
-
extern int projgr_(long *n, double *l, double *u,
|
101
|
-
long *nbd, double *x, double *g, double *sbgnrm);
|
102
|
-
|
103
|
-
extern int subsm_(long *n, long *m, long *nsub, long *ind,
|
104
|
-
double *l, double *u, long *nbd, double *x,
|
105
|
-
double *d__, double *xp, double *ws, double *wy,
|
106
|
-
double *theta, double *xx, double *gg, long *col,
|
107
|
-
long *head, long *iword, double *wv, double *wn,
|
108
|
-
long *iprint, long *info);
|
109
|
-
|
110
|
-
extern int dcsrch_(double *f, double *g, double *stp,
|
111
|
-
double *ftol, double *gtol, double *xtol,
|
112
|
-
double *stpmin, double *stpmax,
|
113
|
-
char *task, long *isave, double *dsave);
|
114
|
-
|
115
|
-
extern int dcstep_(double *stx, double *fx, double *dx,
|
116
|
-
double *sty, double *fy, double *dy, double *stp,
|
117
|
-
double *fp, double *dp, long *brackt, double *stpmin,
|
118
|
-
double *stpmax);
|
119
|
-
|
120
|
-
extern int timer_(double *ttime);
|
14
|
+
extern int setulb_(long* n, long* m, double* x, double* l, double* u, long* nbd, double* f, double* g, double* factr,
|
15
|
+
double* pgtol, double* wa, long* iwa, char* task, long* iprint, char* csave, long* lsave, long* isave,
|
16
|
+
double* dsave);
|
17
|
+
|
18
|
+
extern int mainlb_(long* n, long* m, double* x, double* l, double* u, long* nbd, double* f, double* g, double* factr,
|
19
|
+
double* pgtol, double* ws, double* wy, double* sy, double* ss, double* wt, double* wn, double* snd,
|
20
|
+
double* z__, double* r__, double* d__, double* t, double* xp, double* wa, long* index, long* iwhere,
|
21
|
+
long* indx2, char* task, long* iprint, char* csave, long* lsave, long* isave, double* dsave);
|
22
|
+
|
23
|
+
extern int active_(long* n, double* l, double* u, long* nbd, double* x, long* iwhere, long* iprint, long* prjctd, long* cnstnd,
|
24
|
+
long* boxed);
|
25
|
+
|
26
|
+
extern int bmv_(long* m, double* sy, double* wt, long* col, double* v, double* p, long* info);
|
27
|
+
|
28
|
+
extern int cauchy_(long* n, double* x, double* l, double* u, long* nbd, double* g, long* iorder, long* iwhere, double* t,
|
29
|
+
double* d__, double* xcp, long* m, double* wy, double* ws, double* sy, double* wt, double* theta, long* col,
|
30
|
+
long* head, double* p, double* c__, double* wbp, double* v, long* nseg, long* iprint, double* sbgnrm,
|
31
|
+
long* info, double* epsmch);
|
32
|
+
|
33
|
+
extern int cmprlb_(long* n, long* m, double* x, double* g, double* ws, double* wy, double* sy, double* wt, double* z__,
|
34
|
+
double* r__, double* wa, long* index, double* theta, long* col, long* head, long* nfree, long* cnstnd,
|
35
|
+
long* info);
|
36
|
+
|
37
|
+
extern int errclb_(long* n, long* m, double* factr, double* l, double* u, long* nbd, char* task, long* info, long* k);
|
38
|
+
|
39
|
+
extern int formk_(long* n, long* nsub, long* ind, long* nenter, long* ileave, long* indx2, long* iupdat, long* updatd,
|
40
|
+
double* wn, double* wn1, long* m, double* ws, double* wy, double* sy, double* theta, long* col, long* head,
|
41
|
+
long* info);
|
42
|
+
|
43
|
+
extern int formt_(long* m, double* wt, double* sy, double* ss, long* col, double* theta, long* info);
|
44
|
+
|
45
|
+
extern int freev_(long* n, long* nfree, long* index, long* nenter, long* ileave, long* indx2, long* iwhere, long* wrk,
|
46
|
+
long* updatd, long* cnstnd, long* iprint, long* iter);
|
47
|
+
|
48
|
+
extern int hpsolb_(long* n, double* t, long* iorder, long* iheap);
|
49
|
+
|
50
|
+
extern int lnsrlb_(long* n, double* l, double* u, long* nbd, double* x, double* f, double* fold, double* gd, double* gdold,
|
51
|
+
double* g, double* d__, double* r__, double* t, double* z__, double* stp, double* dnorm, double* dtd,
|
52
|
+
double* xstep, double* stpmx, long* iter, long* ifun, long* iback, long* nfgv, long* info, char* task,
|
53
|
+
long* boxed, long* cnstnd, char* csave, long* isave, double* dsave);
|
54
|
+
|
55
|
+
extern int matupd_(long* n, long* m, double* ws, double* wy, double* sy, double* ss, double* d__, double* r__, long* itail,
|
56
|
+
long* iupdat, long* col, long* head, double* theta, double* rr, double* dr, double* stp, double* dtd);
|
57
|
+
|
58
|
+
extern int prn1lb_(long* n, long* m, double* l, double* u, double* x, long* iprint, long* itfile, double* epsmch);
|
59
|
+
|
60
|
+
extern int prn2lb_(long* n, double* x, double* f, double* g, long* iprint, long* itfile, long* iter, long* nfgv, long* nact,
|
61
|
+
double* sbgnrm, long* nseg, char* word, long* iword, long* iback, double* stp, double* xstep);
|
62
|
+
|
63
|
+
extern int prn3lb_(long* n, double* x, double* f, char* task, long* iprint, long* info, long* itfile, long* iter, long* nfgv,
|
64
|
+
long* nintol, long* nskip, long* nact, double* sbgnrm, double* time, long* nseg, char* word, long* iback,
|
65
|
+
double* stp, double* xstep, long* k, double* cachyt, double* sbtime, double* lnscht);
|
66
|
+
|
67
|
+
extern int projgr_(long* n, double* l, double* u, long* nbd, double* x, double* g, double* sbgnrm);
|
68
|
+
|
69
|
+
extern int subsm_(long* n, long* m, long* nsub, long* ind, double* l, double* u, long* nbd, double* x, double* d__, double* xp,
|
70
|
+
double* ws, double* wy, double* theta, double* xx, double* gg, long* col, long* head, long* iword, double* wv,
|
71
|
+
double* wn, long* iprint, long* info);
|
72
|
+
|
73
|
+
extern int dcsrch_(double* f, double* g, double* stp, double* ftol, double* gtol, double* xtol, double* stpmin, double* stpmax,
|
74
|
+
char* task, long* isave, double* dsave);
|
75
|
+
|
76
|
+
extern int dcstep_(double* stx, double* fx, double* dx, double* sty, double* fy, double* dy, double* stp, double* fp,
|
77
|
+
double* dp, long* brackt, double* stpmin, double* stpmax);
|
78
|
+
|
79
|
+
extern int timer_(double* ttime);
|
121
80
|
|
122
81
|
#endif /* LBFGSB_RB_LBFGSB_H_ */
|
data/ext/lbfgsb/src/linpack.c
CHANGED
@@ -4,8 +4,8 @@
|
|
4
4
|
* Please read attached file License.txt
|
5
5
|
*/
|
6
6
|
|
7
|
-
#include "blas.h"
|
8
7
|
#include "linpack.h"
|
8
|
+
#include "blas.h"
|
9
9
|
|
10
10
|
static long c__1 = 1;
|
11
11
|
|
@@ -44,8 +44,7 @@ static long c__1 = 1;
|
|
44
44
|
* linpack. this version dated 08/14/78 .
|
45
45
|
* cleve moler, university of new mexico, argonne national lab.
|
46
46
|
*/
|
47
|
-
int lbfgsb_rb_dpofa_(double
|
48
|
-
{
|
47
|
+
int lbfgsb_rb_dpofa_(double* a, long* lda, long* n, long* info) {
|
49
48
|
long a_dim1, a_offset, i__1, i__2, i__3;
|
50
49
|
static long j, k;
|
51
50
|
static double s, t;
|
@@ -57,27 +56,27 @@ int lbfgsb_rb_dpofa_(double *a, long *lda, long *n, long *info)
|
|
57
56
|
|
58
57
|
i__1 = *n;
|
59
58
|
for (j = 1; j <= i__1; ++j) {
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
L20:
|
75
|
-
|
59
|
+
*info = j;
|
60
|
+
s = 0.;
|
61
|
+
jm1 = j - 1;
|
62
|
+
if (jm1 < 1) {
|
63
|
+
goto L20;
|
64
|
+
}
|
65
|
+
i__2 = jm1;
|
66
|
+
for (k = 1; k <= i__2; ++k) {
|
67
|
+
i__3 = k - 1;
|
68
|
+
t = a[k + j * a_dim1] - lbfgsb_rb_ddot_(&i__3, &a[k * a_dim1 + 1], &c__1, &a[j * a_dim1 + 1], &c__1);
|
69
|
+
t /= a[k + k * a_dim1];
|
70
|
+
a[k + j * a_dim1] = t;
|
71
|
+
s += t * t;
|
72
|
+
}
|
73
|
+
L20:
|
74
|
+
s = a[j + j * a_dim1] - s;
|
76
75
|
/* ......exit */
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
76
|
+
if (s <= 0.) {
|
77
|
+
goto L40;
|
78
|
+
}
|
79
|
+
a[j + j * a_dim1] = sqrt(s);
|
81
80
|
}
|
82
81
|
*info = 0;
|
83
82
|
L40:
|
@@ -133,8 +132,7 @@ L40:
|
|
133
132
|
* linpack. this version dated 08/14/78 .
|
134
133
|
* g. w. stewart, university of maryland, argonne national lab.
|
135
134
|
*/
|
136
|
-
int lbfgsb_rb_dtrsl_(double
|
137
|
-
{
|
135
|
+
int lbfgsb_rb_dtrsl_(double* t, long* ldt, long* n, double* b, long* job, long* info) {
|
138
136
|
long t_dim1, t_offset, i__1, i__2;
|
139
137
|
static long j, jj, case__;
|
140
138
|
static double temp;
|
@@ -148,39 +146,43 @@ int lbfgsb_rb_dtrsl_(double *t, long *ldt, long *n, double *b, long *job, long *
|
|
148
146
|
i__1 = *n;
|
149
147
|
for (*info = 1; *info <= i__1; ++(*info)) {
|
150
148
|
/* ......exit */
|
151
|
-
|
152
|
-
|
153
|
-
|
149
|
+
if (t[*info + *info * t_dim1] == 0.) {
|
150
|
+
goto L150;
|
151
|
+
}
|
154
152
|
}
|
155
153
|
*info = 0;
|
156
154
|
|
157
155
|
/* determine the task and go to it. */
|
158
156
|
case__ = 1;
|
159
157
|
if (*job % 10 != 0) {
|
160
|
-
|
158
|
+
case__ = 2;
|
161
159
|
}
|
162
160
|
if (*job % 100 / 10 != 0) {
|
163
|
-
|
161
|
+
case__ += 2;
|
164
162
|
}
|
165
163
|
switch (case__) {
|
166
|
-
|
167
|
-
|
168
|
-
|
169
|
-
|
164
|
+
case 1:
|
165
|
+
goto L20;
|
166
|
+
case 2:
|
167
|
+
goto L50;
|
168
|
+
case 3:
|
169
|
+
goto L80;
|
170
|
+
case 4:
|
171
|
+
goto L110;
|
170
172
|
}
|
171
173
|
|
172
174
|
/* solve t*x=b for t lower triangular */
|
173
175
|
L20:
|
174
176
|
b[1] /= t[t_dim1 + 1];
|
175
177
|
if (*n < 2) {
|
176
|
-
|
178
|
+
goto L40;
|
177
179
|
}
|
178
180
|
i__1 = *n;
|
179
181
|
for (j = 2; j <= i__1; ++j) {
|
180
|
-
|
181
|
-
|
182
|
-
|
183
|
-
|
182
|
+
temp = -b[j - 1];
|
183
|
+
i__2 = *n - j + 1;
|
184
|
+
lbfgsb_rb_daxpy_(&i__2, &temp, &t[j + (j - 1) * t_dim1], &c__1, &b[j], &c__1);
|
185
|
+
b[j] /= t[j + j * t_dim1];
|
184
186
|
}
|
185
187
|
L40:
|
186
188
|
goto L140;
|
@@ -189,14 +191,14 @@ L40:
|
|
189
191
|
L50:
|
190
192
|
b[*n] /= t[*n + *n * t_dim1];
|
191
193
|
if (*n < 2) {
|
192
|
-
|
194
|
+
goto L70;
|
193
195
|
}
|
194
196
|
i__1 = *n;
|
195
197
|
for (jj = 2; jj <= i__1; ++jj) {
|
196
|
-
|
197
|
-
|
198
|
-
|
199
|
-
|
198
|
+
j = *n - jj + 1;
|
199
|
+
temp = -b[j + 1];
|
200
|
+
lbfgsb_rb_daxpy_(&j, &temp, &t[(j + 1) * t_dim1 + 1], &c__1, &b[1], &c__1);
|
201
|
+
b[j] /= t[j + j * t_dim1];
|
200
202
|
}
|
201
203
|
L70:
|
202
204
|
goto L140;
|
@@ -205,14 +207,14 @@ L70:
|
|
205
207
|
L80:
|
206
208
|
b[*n] /= t[*n + *n * t_dim1];
|
207
209
|
if (*n < 2) {
|
208
|
-
|
210
|
+
goto L100;
|
209
211
|
}
|
210
212
|
i__1 = *n;
|
211
213
|
for (jj = 2; jj <= i__1; ++jj) {
|
212
|
-
|
213
|
-
|
214
|
-
|
215
|
-
|
214
|
+
j = *n - jj + 1;
|
215
|
+
i__2 = jj - 1;
|
216
|
+
b[j] -= lbfgsb_rb_ddot_(&i__2, &t[j + 1 + j * t_dim1], &c__1, &b[j + 1], &c__1);
|
217
|
+
b[j] /= t[j + j * t_dim1];
|
216
218
|
}
|
217
219
|
L100:
|
218
220
|
goto L140;
|
@@ -221,13 +223,13 @@ L100:
|
|
221
223
|
L110:
|
222
224
|
b[1] /= t[t_dim1 + 1];
|
223
225
|
if (*n < 2) {
|
224
|
-
|
226
|
+
goto L130;
|
225
227
|
}
|
226
228
|
i__1 = *n;
|
227
229
|
for (j = 2; j <= i__1; ++j) {
|
228
|
-
|
229
|
-
|
230
|
-
|
230
|
+
i__2 = j - 1;
|
231
|
+
b[j] -= lbfgsb_rb_ddot_(&i__2, &t[j * t_dim1 + 1], &c__1, &b[1], &c__1);
|
232
|
+
b[j] /= t[j + j * t_dim1];
|
231
233
|
}
|
232
234
|
L130:
|
233
235
|
L140:
|
data/ext/lbfgsb/src/linpack.h
CHANGED
@@ -3,7 +3,7 @@
|
|
3
3
|
|
4
4
|
#include <math.h>
|
5
5
|
|
6
|
-
extern int lbfgsb_rb_dpofa_(double
|
7
|
-
extern int lbfgsb_rb_dtrsl_(double
|
6
|
+
extern int lbfgsb_rb_dpofa_(double* a, long* lda, long* n, long* info);
|
7
|
+
extern int lbfgsb_rb_dtrsl_(double* t, long* ldt, long* n, double* b, long* job, long* info);
|
8
8
|
|
9
9
|
#endif /* LBFGSB_RB_LINPACK_H_ */
|
data/lib/lbfgsb/version.rb
CHANGED
data/sig/lbfgsb.rbs
ADDED
@@ -0,0 +1,31 @@
|
|
1
|
+
module Lbfgsb
|
2
|
+
type result = {
|
3
|
+
task: String,
|
4
|
+
x: Numo::DFloat,
|
5
|
+
fnc: Float,
|
6
|
+
jcb: Numo::DFloat,
|
7
|
+
n_iter: Integer,
|
8
|
+
n_fev: Integer,
|
9
|
+
n_jev: Integer,
|
10
|
+
success: bool
|
11
|
+
}
|
12
|
+
|
13
|
+
VERSION: String
|
14
|
+
|
15
|
+
DBL_EPSILON: Float
|
16
|
+
|
17
|
+
def self?.minimize: (fnc: Method | Proc fnc, x_init: Numo::DFloat x_init, jcb: Method | Proc | bool jcb,
|
18
|
+
?args: untyped args, ?bounds: Numo::DFloat? bounds, ?factr: Float factr, ?pgtol: Float pgtol,
|
19
|
+
?maxcor: Integer maxcor, ?maxiter: Integer maxiter,
|
20
|
+
?verbose: Integer? verbose) -> result
|
21
|
+
|
22
|
+
private
|
23
|
+
|
24
|
+
def self?.fnc: (Method | Proc fnc, Numo::DFloat x, untyped args) -> Float
|
25
|
+
|
26
|
+
def self?.jcb: (Method | Proc jcb, Numo::DFloat x, untyped args) -> Numo::DFloat
|
27
|
+
|
28
|
+
def self?.min_l_bfgs_b: (Method | Proc fnc, Numo::DFloat x, Method | Proc | bool jcb, untyped args,
|
29
|
+
Numo::DFloat l, Numo::DFloat u, Numo::DFloat nbd, Integer maxcor, Float ftol, Float gtol, Integer maxiter,
|
30
|
+
Integer? disp) -> result
|
31
|
+
end
|
data/sig/patch.rbs
ADDED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: lbfgsb
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.4.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- yoshoku
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-
|
11
|
+
date: 2021-06-05 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: numo-narray
|
@@ -34,6 +34,7 @@ extensions:
|
|
34
34
|
- ext/lbfgsb/extconf.rb
|
35
35
|
extra_rdoc_files: []
|
36
36
|
files:
|
37
|
+
- ".clang-format"
|
37
38
|
- ".github/workflows/build.yml"
|
38
39
|
- ".gitignore"
|
39
40
|
- ".rspec"
|
@@ -43,6 +44,7 @@ files:
|
|
43
44
|
- LICENSE.txt
|
44
45
|
- README.md
|
45
46
|
- Rakefile
|
47
|
+
- Steepfile
|
46
48
|
- ext/lbfgsb/extconf.rb
|
47
49
|
- ext/lbfgsb/lbfgsbext.c
|
48
50
|
- ext/lbfgsb/lbfgsbext.h
|
@@ -56,6 +58,8 @@ files:
|
|
56
58
|
- lbfgsb.gemspec
|
57
59
|
- lib/lbfgsb.rb
|
58
60
|
- lib/lbfgsb/version.rb
|
61
|
+
- sig/lbfgsb.rbs
|
62
|
+
- sig/patch.rbs
|
59
63
|
homepage: https://github.com/yoshoku/lbfgsb.rb
|
60
64
|
licenses:
|
61
65
|
- BSD-3-Clause
|
@@ -64,7 +68,7 @@ metadata:
|
|
64
68
|
source_code_uri: https://github.com/yoshoku/lbfgsb.rb
|
65
69
|
changelog_uri: https://github.com/yoshoku/lbfgsb.rb/blob/main/CHANGELOG.md
|
66
70
|
documentation_uri: https://yoshoku.github.io/lbfgsb.rb/doc/
|
67
|
-
post_install_message:
|
71
|
+
post_install_message:
|
68
72
|
rdoc_options: []
|
69
73
|
require_paths:
|
70
74
|
- lib
|
@@ -79,8 +83,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
79
83
|
- !ruby/object:Gem::Version
|
80
84
|
version: '0'
|
81
85
|
requirements: []
|
82
|
-
rubygems_version: 3.
|
83
|
-
signing_key:
|
86
|
+
rubygems_version: 3.1.6
|
87
|
+
signing_key:
|
84
88
|
specification_version: 4
|
85
89
|
summary: Lbfgsb.rb is a Ruby binding for L-BFGS-B.
|
86
90
|
test_files: []
|