lbfgsb 0.3.2 → 0.4.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d3c9f07b919bd5a429225c6aa74e05b4c64ad9df9464388ffea2648560432573
4
- data.tar.gz: 2f264cc51d1d7b3438ecdd0204b41cd7d1ad4c38e9b23c2f6fc0a2116e923cd0
3
+ metadata.gz: 209395124eb39ffdf43a87f346023646fa5367a66f382378542dabdc15668cdf
4
+ data.tar.gz: 9684de7283ba7ff88d6c8408dead7c8468f11e33b4a8010b1c837a2efeb635aa
5
5
  SHA512:
6
- metadata.gz: 9ee089354c99d1eaa412f42f4e74e8b51124be569c4b56820a88e3e0dcaff79b8f23e24d4c12b49b89824ed5f6a4975024973a2d3be6fa0fe33a8f25b1fc5aaa
7
- data.tar.gz: f6727155040cd9b36effa98056eabc826dbf7c4701973202238dea8145c0cd2cfa9b6cb55ffa9a01f01d4d1365438ed62cb2dca1b987b41e77a26661a1a5df28
6
+ metadata.gz: 89cf143fe2b33ab916200814aed666bbcbe2de19852955bcb672ff065939657d2d82dde2e12b14d8cf79aa73d40aebba68d335dd49b68a302af311d7d45f3b3f
7
+ data.tar.gz: bca9b1a012e020669b1b491ff54a40230da72f70efbf8540945239b487d4d6b08fd2a7f3a11600736b40bc6a25f661ed040a0e8077f80273e17a484000a1c045
data/.clang-format ADDED
@@ -0,0 +1,149 @@
1
+ ---
2
+ Language: Cpp
3
+ # BasedOnStyle: LLVM
4
+ AccessModifierOffset: -2
5
+ AlignAfterOpenBracket: Align
6
+ AlignConsecutiveMacros: false
7
+ AlignConsecutiveAssignments: false
8
+ AlignConsecutiveBitFields: false
9
+ AlignConsecutiveDeclarations: false
10
+ AlignEscapedNewlines: Right
11
+ AlignOperands: Align
12
+ AlignTrailingComments: true
13
+ AllowAllArgumentsOnNextLine: true
14
+ AllowAllConstructorInitializersOnNextLine: true
15
+ AllowAllParametersOfDeclarationOnNextLine: true
16
+ AllowShortEnumsOnASingleLine: true
17
+ AllowShortBlocksOnASingleLine: Never
18
+ AllowShortCaseLabelsOnASingleLine: false
19
+ AllowShortFunctionsOnASingleLine: All
20
+ AllowShortLambdasOnASingleLine: All
21
+ AllowShortIfStatementsOnASingleLine: Never
22
+ AllowShortLoopsOnASingleLine: false
23
+ AlwaysBreakAfterDefinitionReturnType: None
24
+ AlwaysBreakAfterReturnType: None
25
+ AlwaysBreakBeforeMultilineStrings: false
26
+ AlwaysBreakTemplateDeclarations: MultiLine
27
+ BinPackArguments: true
28
+ BinPackParameters: true
29
+ BraceWrapping:
30
+ AfterCaseLabel: false
31
+ AfterClass: false
32
+ AfterControlStatement: Never
33
+ AfterEnum: false
34
+ AfterFunction: false
35
+ AfterNamespace: false
36
+ AfterObjCDeclaration: false
37
+ AfterStruct: false
38
+ AfterUnion: false
39
+ AfterExternBlock: false
40
+ BeforeCatch: false
41
+ BeforeElse: false
42
+ BeforeLambdaBody: false
43
+ BeforeWhile: false
44
+ IndentBraces: false
45
+ SplitEmptyFunction: true
46
+ SplitEmptyRecord: true
47
+ SplitEmptyNamespace: true
48
+ BreakBeforeBinaryOperators: None
49
+ BreakBeforeBraces: Attach
50
+ BreakBeforeInheritanceComma: false
51
+ BreakInheritanceList: BeforeColon
52
+ BreakBeforeTernaryOperators: true
53
+ BreakConstructorInitializersBeforeComma: false
54
+ BreakConstructorInitializers: BeforeColon
55
+ BreakAfterJavaFieldAnnotations: false
56
+ BreakStringLiterals: true
57
+ ColumnLimit: 128
58
+ CommentPragmas: '^ IWYU pragma:'
59
+ CompactNamespaces: false
60
+ ConstructorInitializerAllOnOneLineOrOnePerLine: false
61
+ ConstructorInitializerIndentWidth: 4
62
+ ContinuationIndentWidth: 4
63
+ Cpp11BracedListStyle: true
64
+ DeriveLineEnding: true
65
+ DerivePointerAlignment: false
66
+ DisableFormat: false
67
+ ExperimentalAutoDetectBinPacking: false
68
+ FixNamespaceComments: true
69
+ ForEachMacros:
70
+ - foreach
71
+ - Q_FOREACH
72
+ - BOOST_FOREACH
73
+ IncludeBlocks: Preserve
74
+ IncludeCategories:
75
+ - Regex: '^"(llvm|llvm-c|clang|clang-c)/'
76
+ Priority: 2
77
+ SortPriority: 0
78
+ - Regex: '^(<|"(gtest|gmock|isl|json)/)'
79
+ Priority: 3
80
+ SortPriority: 0
81
+ - Regex: '.*'
82
+ Priority: 1
83
+ SortPriority: 0
84
+ IncludeIsMainRegex: '(Test)?$'
85
+ IncludeIsMainSourceRegex: ''
86
+ IndentCaseLabels: false
87
+ IndentCaseBlocks: false
88
+ IndentGotoLabels: true
89
+ IndentPPDirectives: None
90
+ IndentExternBlock: AfterExternBlock
91
+ IndentWidth: 2
92
+ IndentWrappedFunctionNames: false
93
+ InsertTrailingCommas: None
94
+ JavaScriptQuotes: Leave
95
+ JavaScriptWrapImports: true
96
+ KeepEmptyLinesAtTheStartOfBlocks: true
97
+ MacroBlockBegin: ''
98
+ MacroBlockEnd: ''
99
+ MaxEmptyLinesToKeep: 1
100
+ NamespaceIndentation: None
101
+ ObjCBinPackProtocolList: Auto
102
+ ObjCBlockIndentWidth: 2
103
+ ObjCBreakBeforeNestedBlockParam: true
104
+ ObjCSpaceAfterProperty: false
105
+ ObjCSpaceBeforeProtocolList: true
106
+ PenaltyBreakAssignment: 2
107
+ PenaltyBreakBeforeFirstCallParameter: 19
108
+ PenaltyBreakComment: 300
109
+ PenaltyBreakFirstLessLess: 120
110
+ PenaltyBreakString: 1000
111
+ PenaltyBreakTemplateDeclaration: 10
112
+ PenaltyExcessCharacter: 1000000
113
+ PenaltyReturnTypeOnItsOwnLine: 60
114
+ PointerAlignment: Left
115
+ ReflowComments: true
116
+ SortIncludes: true
117
+ SortUsingDeclarations: true
118
+ SpaceAfterCStyleCast: false
119
+ SpaceAfterLogicalNot: false
120
+ SpaceAfterTemplateKeyword: true
121
+ SpaceBeforeAssignmentOperators: true
122
+ SpaceBeforeCpp11BracedList: false
123
+ SpaceBeforeCtorInitializerColon: true
124
+ SpaceBeforeInheritanceColon: true
125
+ SpaceBeforeParens: ControlStatements
126
+ SpaceBeforeRangeBasedForLoopColon: true
127
+ SpaceInEmptyBlock: false
128
+ SpaceInEmptyParentheses: false
129
+ SpacesBeforeTrailingComments: 1
130
+ SpacesInAngles: false
131
+ SpacesInConditionalStatement: false
132
+ SpacesInContainerLiterals: true
133
+ SpacesInCStyleCastParentheses: false
134
+ SpacesInParentheses: false
135
+ SpacesInSquareBrackets: false
136
+ SpaceBeforeSquareBrackets: false
137
+ Standard: Latest
138
+ StatementMacros:
139
+ - Q_UNUSED
140
+ - QT_REQUIRE_VERSION
141
+ TabWidth: 8
142
+ UseCRLF: false
143
+ UseTab: Never
144
+ WhitespaceSensitiveMacros:
145
+ - STRINGIZE
146
+ - PP_STRINGIZE
147
+ - BOOST_PP_STRINGIZE
148
+ ...
149
+
@@ -7,7 +7,7 @@ jobs:
7
7
  runs-on: ubuntu-latest
8
8
  strategy:
9
9
  matrix:
10
- ruby: [ '2.5', '2.6', '2.7' ]
10
+ ruby: [ '2.6', '2.7', '3.0' ]
11
11
  steps:
12
12
  - uses: actions/checkout@v2
13
13
  - name: Set up Ruby ${{ matrix.ruby }}
@@ -16,6 +16,6 @@ jobs:
16
16
  ruby-version: ${{ matrix.ruby }}
17
17
  - name: Build and test with Rake
18
18
  run: |
19
- gem install bundler
19
+ gem install --no-document bundler
20
20
  bundle install --jobs 4 --retry 3
21
21
  bundle exec rake
data/CHANGELOG.md CHANGED
@@ -1,3 +1,6 @@
1
+ ## 0.4.0
2
+ - Add type declaration file: sig/lbfgsb.rbs
3
+
1
4
  ## 0.3.2
2
5
  - Refactor native extension codes.
3
6
  - Update documentations.
data/Gemfile CHANGED
@@ -3,6 +3,8 @@ source "https://rubygems.org"
3
3
  # Specify your gem's dependencies in lbfgsb.gemspec
4
4
  gemspec
5
5
 
6
- gem "rake", "~> 12.0"
6
+ gem "rake", "~> 13.0"
7
7
  gem "rake-compiler"
8
8
  gem "rspec", "~> 3.0"
9
+ gem "rbs", "~> 1.2"
10
+ gem "steep", "~> 0.44"
data/Steepfile ADDED
@@ -0,0 +1,20 @@
1
+ target :lib do
2
+ signature "sig"
3
+ #
4
+ check "lib" # Directory name
5
+ # check "Gemfile" # File name
6
+ # check "app/models/**/*.rb" # Glob
7
+ # # ignore "lib/templates/*.rb"
8
+ #
9
+ # # library "pathname", "set" # Standard libraries
10
+ # library "numo-narray" # Gems
11
+ end
12
+
13
+ # target :spec do
14
+ # signature "sig", "sig-private"
15
+ #
16
+ # check "spec"
17
+ #
18
+ # # library "pathname", "set" # Standard libraries
19
+ # # library "rspec"
20
+ # end
@@ -2,12 +2,8 @@
2
2
 
3
3
  VALUE rb_mLbfgsb;
4
4
 
5
- static
6
- VALUE lbfgsb_min_l_bfgs_b(VALUE self,
7
- VALUE fnc, VALUE x_val, VALUE jcb, VALUE args,
8
- VALUE l_val, VALUE u_val, VALUE nbd_val,
9
- VALUE maxcor, VALUE ftol, VALUE gtol, VALUE maxiter, VALUE disp)
10
- {
5
+ static VALUE lbfgsb_min_l_bfgs_b(VALUE self, VALUE fnc, VALUE x_val, VALUE jcb, VALUE args, VALUE l_val, VALUE u_val,
6
+ VALUE nbd_val, VALUE maxcor, VALUE ftol, VALUE gtol, VALUE maxiter, VALUE disp) {
11
7
  long n_iter;
12
8
  long n_fev;
13
9
  long n_jev;
@@ -115,10 +111,7 @@ VALUE lbfgsb_min_l_bfgs_b(VALUE self,
115
111
  n_jev = 0;
116
112
 
117
113
  for (n_iter = 0; n_iter < max_iter;) {
118
- setulb_(
119
- &n, &m, x_ptr, l_ptr, u_ptr, nbd_ptr, &f, g, &factr, &pgtol, wa, iwa,
120
- task, &iprint, csave, lsave, isave, dsave
121
- );
114
+ setulb_(&n, &m, x_ptr, l_ptr, u_ptr, nbd_ptr, &f, g, &factr, &pgtol, wa, iwa, task, &iprint, csave, lsave, isave, dsave);
122
115
  if (strncmp(task, "FG", 2) == 0) {
123
116
  if (RB_TYPE_P(jcb, T_TRUE)) {
124
117
  fg_arr = rb_funcall(self, rb_intern("fnc"), 3, fnc, x_val, args);
@@ -130,8 +123,10 @@ VALUE lbfgsb_min_l_bfgs_b(VALUE self,
130
123
  }
131
124
  n_fev++;
132
125
  n_jev++;
133
- if (CLASS_OF(g_val) != numo_cDFloat) g_val = rb_funcall(numo_cDFloat, rb_intern("cast"), 1, g_val);
134
- if (!RTEST(nary_check_contiguous(g_val))) g_val = nary_dup(g_val);
126
+ if (CLASS_OF(g_val) != numo_cDFloat)
127
+ g_val = rb_funcall(numo_cDFloat, rb_intern("cast"), 1, g_val);
128
+ if (!RTEST(nary_check_contiguous(g_val)))
129
+ g_val = nary_dup(g_val);
135
130
  memcpy(g, na_get_pointer_for_read(g_val), n * sizeof(*g));
136
131
  RB_GC_GUARD(g_val);
137
132
  } else if (strncmp(task, "NEW_X", 5) == 0) {
@@ -163,9 +158,7 @@ VALUE lbfgsb_min_l_bfgs_b(VALUE self,
163
158
  return ret;
164
159
  }
165
160
 
166
- void
167
- Init_lbfgsbext(void)
168
- {
161
+ void Init_lbfgsbext(void) {
169
162
  rb_mLbfgsb = rb_define_module("Lbfgsb");
170
163
  /* The value of double epsilon used in the native extension. */
171
164
  rb_define_const(rb_mLbfgsb, "DBL_EPSILON", DBL2NUM(DBL_EPSILON));
@@ -5,6 +5,7 @@
5
5
  #include <string.h>
6
6
 
7
7
  #include <ruby.h>
8
+
8
9
  #include <numo/narray.h>
9
10
  #include <numo/template.h>
10
11
 
@@ -5,8 +5,7 @@
5
5
  */
6
6
  #include "blas.h"
7
7
 
8
- int lbfgsb_rb_daxpy_(long *n, double *da, double *dx, long *incx, double *dy, long *incy)
9
- {
8
+ int lbfgsb_rb_daxpy_(long* n, double* da, double* dx, long* incx, double* dy, long* incy) {
10
9
  long i__1;
11
10
  static long i__, m, ix, iy, mp1;
12
11
 
@@ -70,8 +69,7 @@ L40:
70
69
  return 0;
71
70
  }
72
71
 
73
- int lbfgsb_rb_dcopy_(long *n, double *dx, long *incx, double *dy, long *incy)
74
- {
72
+ int lbfgsb_rb_dcopy_(long* n, double* dx, long* incx, double* dy, long* incy) {
75
73
  long i__1;
76
74
  static long i__, m, ix, iy, mp1;
77
75
 
@@ -135,8 +133,7 @@ L40:
135
133
  return 0;
136
134
  }
137
135
 
138
- double lbfgsb_rb_ddot_(long *n, double *dx, long *incx, double *dy, long *incy)
139
- {
136
+ double lbfgsb_rb_ddot_(long* n, double* dx, long* incx, double* dy, long* incy) {
140
137
  long i__1;
141
138
  double ret_val;
142
139
  static long i__, m, ix, iy, mp1;
@@ -194,16 +191,15 @@ L40:
194
191
  mp1 = m + 1;
195
192
  i__1 = *n;
196
193
  for (i__ = mp1; i__ <= i__1; i__ += 5) {
197
- dtemp = dtemp + dx[i__] * dy[i__] + dx[i__ + 1] * dy[i__ + 1]
198
- + dx[i__ + 2] * dy[i__ + 2] + dx[i__ + 3] * dy[i__ + 3] + dx[i__ + 4] * dy[i__ + 4];
194
+ dtemp = dtemp + dx[i__] * dy[i__] + dx[i__ + 1] * dy[i__ + 1] + dx[i__ + 2] * dy[i__ + 2] + dx[i__ + 3] * dy[i__ + 3] +
195
+ dx[i__ + 4] * dy[i__ + 4];
199
196
  }
200
197
  L60:
201
198
  ret_val = dtemp;
202
199
  return ret_val;
203
200
  }
204
201
 
205
- int lbfgsb_rb_dscal_(long *n, double *da, double *dx, long *incx)
206
- {
202
+ int lbfgsb_rb_dscal_(long* n, double* da, double* dx, long* incx) {
207
203
  long i__1, i__2;
208
204
  static long i__, m, mp1, nincx;
209
205
 
@@ -3,9 +3,9 @@
3
3
 
4
4
  #include <math.h>
5
5
 
6
- extern int lbfgsb_rb_daxpy_(long *n, double *da, double *dx, long *incx, double *dy, long *incy);
7
- extern int lbfgsb_rb_dcopy_(long *n, double *dx, long *incx, double *dy, long *incy);
8
- extern double lbfgsb_rb_ddot_(long *n, double *dx, long *incx, double *dy, long *incy);
9
- extern int lbfgsb_rb_dscal_(long *n, double *da, double *dx, long *incx);
6
+ extern int lbfgsb_rb_daxpy_(long* n, double* da, double* dx, long* incx, double* dy, long* incy);
7
+ extern int lbfgsb_rb_dcopy_(long* n, double* dx, long* incx, double* dy, long* incy);
8
+ extern double lbfgsb_rb_ddot_(long* n, double* dx, long* incx, double* dy, long* incy);
9
+ extern int lbfgsb_rb_dscal_(long* n, double* da, double* dx, long* incx);
10
10
 
11
11
  #endif /* LBFGSB_RB_BLAS_H_ */
@@ -44,9 +44,9 @@
44
44
  * March 2011
45
45
  */
46
46
 
47
+ #include "lbfgsb.h"
47
48
  #include "blas.h"
48
49
  #include "linpack.h"
49
- #include "lbfgsb.h"
50
50
 
51
51
  static double c_b9 = 0.;
52
52
  static long c__1 = 1;
@@ -232,12 +232,8 @@ static double c_b282 = .1;
232
232
  * Ciyou Zhu
233
233
  * in collaboration with R.H. Byrd, P. Lu-Chen and J. Nocedal.
234
234
  */
235
- int setulb_(long *n, long *m, double *x,
236
- double *l, double *u, long *nbd, double *f, double *g,
237
- double *factr, double *pgtol, double *wa, long *iwa,
238
- char *task, long *iprint, char *csave, long *lsave,
239
- long *isave, double *dsave)
240
- {
235
+ int setulb_(long* n, long* m, double* x, double* l, double* u, long* nbd, double* f, double* g, double* factr, double* pgtol,
236
+ double* wa, long* iwa, char* task, long* iprint, char* csave, long* lsave, long* isave, double* dsave) {
241
237
  long i__1;
242
238
 
243
239
  static long ld, lr, lt, lz, lwa, lwn, lss, lxp, lws, lwt, lsy, lwy, lsnd;
@@ -287,11 +283,9 @@ int setulb_(long *n, long *m, double *x,
287
283
  lt = isave[14];
288
284
  lxp = isave[15];
289
285
  lwa = isave[16];
290
- mainlb_(n, m, &x[1], &l[1], &u[1], &nbd[1], f, &g[1], factr, pgtol, &wa[lws],
291
- &wa[lwy], &wa[lsy], &wa[lss], &wa[lwt], &wa[lwn], &wa[lsnd],
292
- &wa[lz], &wa[lr], &wa[ld], &wa[lt], &wa[lxp], &wa[lwa], &iwa[1],
293
- &iwa[*n + 1], &iwa[(*n << 1) + 1], task, iprint, csave, &lsave[1],
294
- &isave[22], &dsave[1]);
286
+ mainlb_(n, m, &x[1], &l[1], &u[1], &nbd[1], f, &g[1], factr, pgtol, &wa[lws], &wa[lwy], &wa[lsy], &wa[lss], &wa[lwt],
287
+ &wa[lwn], &wa[lsnd], &wa[lz], &wa[lr], &wa[ld], &wa[lt], &wa[lxp], &wa[lwa], &iwa[1], &iwa[*n + 1],
288
+ &iwa[(*n << 1) + 1], task, iprint, csave, &lsave[1], &isave[22], &dsave[1]);
295
289
  return 0;
296
290
  }
297
291
 
@@ -471,20 +465,14 @@ int setulb_(long *n, long *m, double *x,
471
465
  * Ciyou Zhu
472
466
  * in collaboration with R.H. Byrd, P. Lu-Chen and J. Nocedal.
473
467
  */
474
- int mainlb_(long *n, long *m, double *x,
475
- double *l, double *u, long *nbd, double *f, double *g,
476
- double *factr, double *pgtol, double *ws, double *wy,
477
- double *sy, double *ss, double *wt, double *wn,
478
- double *snd, double *z__, double *r__, double *d__,
479
- double *t, double *xp, double *wa, long *index,
480
- long *iwhere, long *indx2, char *task, long *iprint,
481
- char *csave, long *lsave, long *isave, double *dsave)
482
- {
483
- long ws_dim1, ws_offset, wy_dim1, wy_offset, sy_dim1, sy_offset,
484
- ss_dim1, ss_offset, wt_dim1, wt_offset, wn_dim1, wn_offset,
485
- snd_dim1, snd_offset, i__1;
468
+ int mainlb_(long* n, long* m, double* x, double* l, double* u, long* nbd, double* f, double* g, double* factr, double* pgtol,
469
+ double* ws, double* wy, double* sy, double* ss, double* wt, double* wn, double* snd, double* z__, double* r__,
470
+ double* d__, double* t, double* xp, double* wa, long* index, long* iwhere, long* indx2, char* task, long* iprint,
471
+ char* csave, long* lsave, long* isave, double* dsave) {
472
+ long ws_dim1, ws_offset, wy_dim1, wy_offset, sy_dim1, sy_offset, ss_dim1, ss_offset, wt_dim1, wt_offset, wn_dim1, wn_offset,
473
+ snd_dim1, snd_offset, i__1;
486
474
  double d__1, d__2;
487
- FILE *itfptr;
475
+ FILE* itfptr;
488
476
  static long i__, k;
489
477
  static double gd, dr, rr, dtd;
490
478
  static long col;
@@ -610,9 +598,8 @@ int mainlb_(long *n, long *m, double *x,
610
598
  /* Check the input arguments for errors. */
611
599
  errclb_(n, m, factr, &l[1], &u[1], &nbd[1], task, &info, &k);
612
600
  if (strncmp(task, "ERROR", 5) == 0) {
613
- prn3lb_(n, &x[1], f, task, iprint, &info, &itfile, &iter, &nfgv, &nintol,
614
- &nskip, &nact, &sbgnrm, &c_b9, &nseg, word, &iback,
615
- &stp, &xstep, &k, &cachyt, &sbtime, &lnscht);
601
+ prn3lb_(n, &x[1], f, task, iprint, &info, &itfile, &iter, &nfgv, &nintol, &nskip, &nact, &sbgnrm, &c_b9, &nseg, word,
602
+ &iback, &stp, &xstep, &k, &cachyt, &sbtime, &lnscht);
616
603
  return 0;
617
604
  }
618
605
  prn1lb_(n, m, &l[1], &u[1], &x[1], iprint, &itfile, &epsmch);
@@ -707,7 +694,7 @@ L222:
707
694
  }
708
695
  iword = -1;
709
696
 
710
- if (! cnstnd && col > 0) {
697
+ if (!cnstnd && col > 0) {
711
698
  /* skip the search for GCP. */
712
699
  lbfgsb_rb_dcopy_(n, &x[1], &c__1, &z__[1], &c__1);
713
700
  wrk = updatd;
@@ -718,10 +705,9 @@ L222:
718
705
  * Compute the Generalized Cauchy Point (GCP).
719
706
  */
720
707
  timer_(&cpu1);
721
- cauchy_(n, &x[1], &l[1], &u[1], &nbd[1], &g[1], &indx2[1], &iwhere[1], &t[1],
722
- &d__[1], &z__[1], m, &wy[wy_offset], &ws[ws_offset], &sy[sy_offset],
723
- &wt[wt_offset], &theta, &col, &head, &wa[1], &wa[(*m << 1) + 1],
724
- &wa[(*m << 2) + 1], &wa[*m * 6 + 1], &nseg, iprint, &sbgnrm, &info, &epsmch);
708
+ cauchy_(n, &x[1], &l[1], &u[1], &nbd[1], &g[1], &indx2[1], &iwhere[1], &t[1], &d__[1], &z__[1], m, &wy[wy_offset],
709
+ &ws[ws_offset], &sy[sy_offset], &wt[wt_offset], &theta, &col, &head, &wa[1], &wa[(*m << 1) + 1], &wa[(*m << 2) + 1],
710
+ &wa[*m * 6 + 1], &nseg, iprint, &sbgnrm, &info, &epsmch);
725
711
  if (info != 0) {
726
712
  /* singular triangular system detected; refresh the lbfgs memory. */
727
713
  if (*iprint >= 1) {
@@ -762,9 +748,8 @@ L333:
762
748
  /* where E = [-I 0] */
763
749
  /* [ 0 I] */
764
750
  if (wrk) {
765
- formk_(n, &nfree, &index[1], &nenter, &ileave, &indx2[1], &iupdat, &updatd,
766
- &wn[wn_offset], &snd[snd_offset], m, &ws[ws_offset], &wy[wy_offset],
767
- &sy[sy_offset], &theta, &col, &head, &info);
751
+ formk_(n, &nfree, &index[1], &nenter, &ileave, &indx2[1], &iupdat, &updatd, &wn[wn_offset], &snd[snd_offset], m,
752
+ &ws[ws_offset], &wy[wy_offset], &sy[sy_offset], &theta, &col, &head, &info);
768
753
  }
769
754
  if (info != 0) {
770
755
  /* nonpositive definiteness in Cholesky factorization; */
@@ -786,16 +771,14 @@ L333:
786
771
  }
787
772
  /* compute r=-Z'B(xcp-xk)-Z'g (using wa(2m+1)=W'(xcp-x) */
788
773
  /* from 'cauchy'). */
789
- cmprlb_(n, m, &x[1], &g[1], &ws[ws_offset], &wy[wy_offset], &sy[sy_offset],
790
- &wt[wt_offset], &z__[1], &r__[1], &wa[1], &index[1], &theta, &col,
791
- &head, &nfree, &cnstnd, &info);
774
+ cmprlb_(n, m, &x[1], &g[1], &ws[ws_offset], &wy[wy_offset], &sy[sy_offset], &wt[wt_offset], &z__[1], &r__[1], &wa[1],
775
+ &index[1], &theta, &col, &head, &nfree, &cnstnd, &info);
792
776
  if (info != 0) {
793
777
  goto L444;
794
778
  }
795
779
  /* jlm-jn call the direct method. */
796
- subsm_(n, m, &nfree, &index[1], &l[1], &u[1], &nbd[1], &z__[1], &r__[1], &xp[1],
797
- &ws[ws_offset], &wy[wy_offset], &theta, &x[1], &g[1], &col,
798
- &head, &iword, &wa[1], &wn[wn_offset], iprint, &info);
780
+ subsm_(n, m, &nfree, &index[1], &l[1], &u[1], &nbd[1], &z__[1], &r__[1], &xp[1], &ws[ws_offset], &wy[wy_offset], &theta,
781
+ &x[1], &g[1], &col, &head, &iword, &wa[1], &wn[wn_offset], iprint, &info);
799
782
  L444:
800
783
  if (info != 0) {
801
784
  /* singular triangular system detected; */
@@ -828,10 +811,8 @@ L555:
828
811
  }
829
812
  timer_(&cpu1);
830
813
  L666:
831
- lnsrlb_(n, &l[1], &u[1], &nbd[1], &x[1], f, &fold, &gd, &gdold, &g[1],
832
- &d__[1], &r__[1], &t[1], &z__[1], &stp, &dnorm, &dtd, &xstep,
833
- &stpmx, &iter, &ifun, &iback, &nfgv, &info, task, &boxed, &cnstnd,
834
- csave, &isave[22], &dsave[17]);
814
+ lnsrlb_(n, &l[1], &u[1], &nbd[1], &x[1], f, &fold, &gd, &gdold, &g[1], &d__[1], &r__[1], &t[1], &z__[1], &stp, &dnorm, &dtd,
815
+ &xstep, &stpmx, &iter, &ifun, &iback, &nfgv, &info, task, &boxed, &cnstnd, csave, &isave[22], &dsave[17]);
835
816
  if (info != 0 || iback >= 20) {
836
817
  /* restore the previous iterate. */
837
818
  lbfgsb_rb_dcopy_(n, &t[1], &c__1, &x[1], &c__1);
@@ -881,8 +862,7 @@ L666:
881
862
  /* Compute the infinity norm of the projected (-)gradient. */
882
863
  projgr_(n, &l[1], &u[1], &nbd[1], &x[1], &g[1], &sbgnrm);
883
864
  /* Print iteration information. */
884
- prn2lb_(n, &x[1], f, &g[1], iprint, &itfile, &iter, &nfgv, &nact,
885
- &sbgnrm, &nseg, word, &iword, &iback, &stp, &xstep);
865
+ prn2lb_(n, &x[1], f, &g[1], iprint, &itfile, &iter, &nfgv, &nact, &sbgnrm, &nseg, word, &iword, &iback, &stp, &xstep);
886
866
  goto L1000;
887
867
  }
888
868
  L777:
@@ -934,9 +914,8 @@ L777:
934
914
  updatd = TRUE_;
935
915
  ++iupdat;
936
916
  /* Update matrices WS and WY and form the middle matrix in B. */
937
- matupd_(n, m, &ws[ws_offset], &wy[wy_offset], &sy[sy_offset],
938
- &ss[ss_offset], &d__[1], &r__[1], &itail, &iupdat, &col, &head,
939
- &theta, &rr, &dr, &stp, &dtd);
917
+ matupd_(n, m, &ws[ws_offset], &wy[wy_offset], &sy[sy_offset], &ss[ss_offset], &d__[1], &r__[1], &itail, &iupdat, &col, &head,
918
+ &theta, &rr, &dr, &stp, &dtd);
940
919
  /* Form the upper half of the pds T = theta*SS + L*D^(-1)*L'; */
941
920
  /* Store T in the upper triangular of the array wt; */
942
921
  /* Cholesky factorize T to J*J' with */
@@ -967,9 +946,8 @@ L888:
967
946
  L999:
968
947
  timer_(&time2);
969
948
  time = time2 - time1;
970
- prn3lb_(n, &x[1], f, task, iprint, &info, &itfile, &iter, &nfgv, &nintol,
971
- &nskip, &nact, &sbgnrm, &time, &nseg, word, &iback, &stp, &xstep,
972
- &k, &cachyt, &sbtime, &lnscht);
949
+ prn3lb_(n, &x[1], f, task, iprint, &info, &itfile, &iter, &nfgv, &nintol, &nskip, &nact, &sbgnrm, &time, &nseg, word, &iback,
950
+ &stp, &xstep, &k, &cachyt, &sbtime, &lnscht);
973
951
  L1000:
974
952
  /* Save local variables. */
975
953
  lsave[1] = prjctd;
@@ -1035,10 +1013,8 @@ L1000:
1035
1013
  * Ciyou Zhu
1036
1014
  * in collaboration with R.H. Byrd, P. Lu-Chen and J. Nocedal.
1037
1015
  */
1038
- int active_(long *n, double *l, double *u,
1039
- long *nbd, double *x, long *iwhere, long *iprint,
1040
- long *prjctd, long *cnstnd, long *boxed)
1041
- {
1016
+ int active_(long* n, double* l, double* u, long* nbd, double* x, long* iwhere, long* iprint, long* prjctd, long* cnstnd,
1017
+ long* boxed) {
1042
1018
  long i__1;
1043
1019
  static long i__, nbdd;
1044
1020
  --iwhere;
@@ -1080,7 +1056,7 @@ int active_(long *n, double *l, double *u,
1080
1056
  if (nbd[i__] == 0) {
1081
1057
  /* this variable is always free */
1082
1058
  iwhere[i__] = -1;
1083
- /* otherwise set x(i)=mid(x(i), u(i), l(i)). */
1059
+ /* otherwise set x(i)=mid(x(i), u(i), l(i)). */
1084
1060
  } else {
1085
1061
  *cnstnd = TRUE_;
1086
1062
  if (nbd[i__] == 2 && u[i__] - l[i__] <= 0.) {
@@ -1095,7 +1071,7 @@ int active_(long *n, double *l, double *u,
1095
1071
  if (*prjctd) {
1096
1072
  fprintf(stdout, " The initial X is infeasible. Restart with its projection.\n");
1097
1073
  }
1098
- if (! (*cnstnd)) {
1074
+ if (!(*cnstnd)) {
1099
1075
  fprintf(stdout, " This problem is unconstrained.\n");
1100
1076
  }
1101
1077
  }
@@ -1159,9 +1135,7 @@ int active_(long *n, double *l, double *u,
1159
1135
  * Ciyou Zhu
1160
1136
  * in collaboration with R.H. Byrd, P. Lu-Chen and J. Nocedal.
1161
1137
  */
1162
- int bmv_(long *m, double *sy, double *wt, long
1163
- *col, double *v, double *p, long *info)
1164
- {
1138
+ int bmv_(long* m, double* sy, double* wt, long* col, double* v, double* p, long* info) {
1165
1139
  long sy_dim1, sy_offset, wt_dim1, wt_offset, i__1, i__2;
1166
1140
  static long i__, k, i2;
1167
1141
  static double sum;
@@ -1400,14 +1374,10 @@ int bmv_(long *m, double *sy, double *wt, long
1400
1374
  * Ciyou Zhu
1401
1375
  * in collaboration with R.H. Byrd, P. Lu-Chen and J. Nocedal.
1402
1376
  */
1403
- int cauchy_(long *n, double *x, double *l,
1404
- double *u, long *nbd, double *g, long *iorder, long *iwhere,
1405
- double *t, double *d__, double *xcp, long *m,
1406
- double *wy, double *ws, double *sy, double *wt,
1407
- double *theta, long *col, long *head, double *p,
1408
- double *c__, double *wbp, double *v, long *nseg,
1409
- long *iprint, double *sbgnrm, long *info, double *epsmch)
1410
- {
1377
+ int cauchy_(long* n, double* x, double* l, double* u, long* nbd, double* g, long* iorder, long* iwhere, double* t, double* d__,
1378
+ double* xcp, long* m, double* wy, double* ws, double* sy, double* wt, double* theta, long* col, long* head,
1379
+ double* p, double* c__, double* wbp, double* v, long* nseg, long* iprint, double* sbgnrm, long* info,
1380
+ double* epsmch) {
1411
1381
  long wy_dim1, wy_offset, ws_dim1, ws_offset, sy_dim1, sy_offset, wt_dim1, wt_offset, i__1, i__2;
1412
1382
  double d__1;
1413
1383
  static long i__, j;
@@ -1782,12 +1752,8 @@ L999:
1782
1752
  * Ciyou Zhu
1783
1753
  * in collaboration with R.H. Byrd, P. Lu-Chen and J. Nocedal.
1784
1754
  */
1785
- int cmprlb_(long *n, long *m, double *x,
1786
- double *g, double *ws, double *wy, double *sy,
1787
- double *wt, double *z__, double *r__, double *wa,
1788
- long *index, double *theta, long *col, long *head,
1789
- long *nfree, long *cnstnd, long *info)
1790
- {
1755
+ int cmprlb_(long* n, long* m, double* x, double* g, double* ws, double* wy, double* sy, double* wt, double* z__, double* r__,
1756
+ double* wa, long* index, double* theta, long* col, long* head, long* nfree, long* cnstnd, long* info) {
1791
1757
  long ws_dim1, ws_offset, wy_dim1, wy_offset, sy_dim1, sy_offset, wt_dim1, wt_offset, i__1, i__2;
1792
1758
  static long i__, j, k;
1793
1759
  static double a1, a2;
@@ -1812,7 +1778,7 @@ int cmprlb_(long *n, long *m, double *x,
1812
1778
  ws_offset = 1 + ws_dim1;
1813
1779
  ws -= ws_offset;
1814
1780
 
1815
- if (! (*cnstnd) && *col > 0) {
1781
+ if (!(*cnstnd) && *col > 0) {
1816
1782
  i__1 = *n;
1817
1783
  for (i__ = 1; i__ <= i__1; ++i__) {
1818
1784
  r__[i__] = -g[i__];
@@ -1858,9 +1824,7 @@ int cmprlb_(long *n, long *m, double *x,
1858
1824
  * Ciyou Zhu
1859
1825
  * in collaboration with R.H. Byrd, P. Lu-Chen and J. Nocedal.
1860
1826
  */
1861
- int errclb_(long *n, long *m, double *factr,
1862
- double *l, double *u, long *nbd, char *task, long *info, long *k)
1863
- {
1827
+ int errclb_(long* n, long* m, double* factr, double* l, double* u, long* nbd, char* task, long* info, long* k) {
1864
1828
  long i__1;
1865
1829
  static long i__;
1866
1830
  --nbd;
@@ -2017,14 +1981,9 @@ int errclb_(long *n, long *m, double *factr,
2017
1981
  * Ciyou Zhu
2018
1982
  * in collaboration with R.H. Byrd, P. Lu-Chen and J. Nocedal.
2019
1983
  */
2020
- int formk_(long *n, long *nsub, long *ind, long *nenter,
2021
- long *ileave, long *indx2, long *iupdat, long *updatd,
2022
- double *wn, double *wn1, long *m, double *ws,
2023
- double *wy, double *sy, double *theta, long *col,
2024
- long *head, long *info)
2025
- {
2026
- long wn_dim1, wn_offset, wn1_dim1, wn1_offset, ws_dim1, ws_offset,
2027
- wy_dim1, wy_offset, sy_dim1, sy_offset, i__1, i__2, i__3;
1984
+ int formk_(long* n, long* nsub, long* ind, long* nenter, long* ileave, long* indx2, long* iupdat, long* updatd, double* wn,
1985
+ double* wn1, long* m, double* ws, double* wy, double* sy, double* theta, long* col, long* head, long* info) {
1986
+ long wn_dim1, wn_offset, wn1_dim1, wn1_offset, ws_dim1, ws_offset, wy_dim1, wy_offset, sy_dim1, sy_offset, i__1, i__2, i__3;
2028
1987
  static long i__, k, k1, m2, is, js, iy, jy, is1, js1, col2, dend, pend;
2029
1988
  static long upcl;
2030
1989
  static double temp1, temp2, temp3, temp4;
@@ -2265,9 +2224,7 @@ int formk_(long *n, long *nsub, long *ind, long *nenter,
2265
2224
  * Ciyou Zhu
2266
2225
  * in collaboration with R.H. Byrd, P. Lu-Chen and J. Nocedal.
2267
2226
  */
2268
- int formt_(long *m, double *wt, double *sy,
2269
- double *ss, long *col, double *theta, long *info)
2270
- {
2227
+ int formt_(long* m, double* wt, double* sy, double* ss, long* col, double* theta, long* info) {
2271
2228
  long wt_dim1, wt_offset, sy_dim1, sy_offset, ss_dim1, ss_offset, i__1, i__2, i__3;
2272
2229
  static long i__, j, k, k1;
2273
2230
  static double ddum;
@@ -2343,11 +2300,8 @@ int formt_(long *m, double *wt, double *sy,
2343
2300
  * Ciyou Zhu
2344
2301
  * in collaboration with R.H. Byrd, P. Lu-Chen and J. Nocedal.
2345
2302
  */
2346
- int freev_(long *n, long *nfree, long *index,
2347
- long *nenter, long *ileave, long *indx2, long *iwhere,
2348
- long *wrk, long *updatd, long *cnstnd, long *iprint,
2349
- long *iter)
2350
- {
2303
+ int freev_(long* n, long* nfree, long* index, long* nenter, long* ileave, long* indx2, long* iwhere, long* wrk, long* updatd,
2304
+ long* cnstnd, long* iprint, long* iter) {
2351
2305
  long i__1;
2352
2306
  static long i__, k, iact;
2353
2307
 
@@ -2385,7 +2339,7 @@ int freev_(long *n, long *nfree, long *index,
2385
2339
  }
2386
2340
  if (*iprint >= 99) {
2387
2341
  i__1 = *n + 1 - *ileave;
2388
- fprintf(stdout, " %2ld variables leave; %2ld variables enter\n", i__1, *nenter);
2342
+ fprintf(stdout, " %2ld variables leave; %2ld variables enter\n", i__1, *nenter);
2389
2343
  }
2390
2344
  }
2391
2345
  *wrk = *ileave < *n + 1 || *nenter > 0 || *updatd;
@@ -2448,8 +2402,7 @@ int freev_(long *n, long *nfree, long *index,
2448
2402
  * Ciyou Zhu
2449
2403
  * in collaboration with R.H. Byrd, P. Lu-Chen and J. Nocedal.
2450
2404
  */
2451
- int hpsolb_(long *n, double *t, long *iorder, long *iheap)
2452
- {
2405
+ int hpsolb_(long* n, double* t, long* iorder, long* iheap) {
2453
2406
  long i__1;
2454
2407
  static long i__, j, k;
2455
2408
  static double out, ddum;
@@ -2466,7 +2419,7 @@ int hpsolb_(long *n, double *t, long *iorder, long *iheap)
2466
2419
  indxin = iorder[k];
2467
2420
  /* Add ddum to the heap. */
2468
2421
  i__ = k;
2469
- L10:
2422
+ L10:
2470
2423
  if (i__ > 1) {
2471
2424
  j = i__ / 2;
2472
2425
  if (ddum < t[j]) {
@@ -2490,7 +2443,7 @@ L10:
2490
2443
  ddum = t[*n];
2491
2444
  indxin = iorder[*n];
2492
2445
  /* Restore the heap */
2493
- L30:
2446
+ L30:
2494
2447
  j = i__ + i__;
2495
2448
  if (j <= *n - 1) {
2496
2449
  if (t[j + 1] < t[j]) {
@@ -2534,15 +2487,10 @@ L30:
2534
2487
  * Ciyou Zhu
2535
2488
  * in collaboration with R.H. Byrd, P. Lu-Chen and J. Nocedal.
2536
2489
  */
2537
- int lnsrlb_(long *n, double *l, double *u,
2538
- long *nbd, double *x, double *f, double *fold,
2539
- double *gd, double *gdold, double *g, double *d__,
2540
- double *r__, double *t, double *z__, double *stp,
2541
- double *dnorm, double *dtd, double *xstep, double *stpmx,
2542
- long *iter, long *ifun, long *iback, long *nfgv,
2543
- long *info, char *task, long *boxed, long *cnstnd,
2544
- char *csave, long *isave, double *dsave)
2545
- {
2490
+ int lnsrlb_(long* n, double* l, double* u, long* nbd, double* x, double* f, double* fold, double* gd, double* gdold, double* g,
2491
+ double* d__, double* r__, double* t, double* z__, double* stp, double* dnorm, double* dtd, double* xstep,
2492
+ double* stpmx, long* iter, long* ifun, long* iback, long* nfgv, long* info, char* task, long* boxed, long* cnstnd,
2493
+ char* csave, long* isave, double* dsave) {
2546
2494
  long i__1;
2547
2495
  double d__1;
2548
2496
  static long i__;
@@ -2594,7 +2542,7 @@ int lnsrlb_(long *n, double *l, double *u,
2594
2542
  }
2595
2543
  }
2596
2544
  }
2597
- if (*iter == 0 && ! (*boxed)) {
2545
+ if (*iter == 0 && !(*boxed)) {
2598
2546
  d__1 = 1. / *dnorm;
2599
2547
  *stp = d__1 <= *stpmx ? d__1 : *stpmx;
2600
2548
  } else {
@@ -2658,12 +2606,8 @@ L556:
2658
2606
  * Ciyou Zhu
2659
2607
  * in collaboration with R.H. Byrd, P. Lu-Chen and J. Nocedal.
2660
2608
  */
2661
- int matupd_(long *n, long *m, double *ws,
2662
- double *wy, double *sy, double *ss, double *d__,
2663
- double *r__, long *itail, long *iupdat, long *col,
2664
- long *head, double *theta, double *rr, double *dr,
2665
- double *stp, double *dtd)
2666
- {
2609
+ int matupd_(long* n, long* m, double* ws, double* wy, double* sy, double* ss, double* d__, double* r__, long* itail,
2610
+ long* iupdat, long* col, long* head, double* theta, double* rr, double* dr, double* stp, double* dtd) {
2667
2611
  long ws_dim1, ws_offset, wy_dim1, wy_offset, sy_dim1, sy_offset, ss_dim1, ss_offset, i__1, i__2;
2668
2612
  static long j;
2669
2613
  static long pointr;
@@ -2743,12 +2687,9 @@ int matupd_(long *n, long *m, double *ws,
2743
2687
  * Ciyou Zhu
2744
2688
  * in collaboration with R.H. Byrd, P. Lu-Chen and J. Nocedal.
2745
2689
  */
2746
- int prn1lb_(long *n, long *m, double *l,
2747
- double *u, double *x, long *iprint, long *itfile,
2748
- double *epsmch)
2749
- {
2690
+ int prn1lb_(long* n, long* m, double* l, double* u, double* x, long* iprint, long* itfile, double* epsmch) {
2750
2691
  long i__1;
2751
- FILE *itfptr;
2692
+ FILE* itfptr;
2752
2693
  static long i__;
2753
2694
 
2754
2695
  --x;
@@ -2840,14 +2781,11 @@ int prn1lb_(long *n, long *m, double *l,
2840
2781
  * Ciyou Zhu
2841
2782
  * in collaboration with R.H. Byrd, P. Lu-Chen and J. Nocedal.
2842
2783
  */
2843
- int prn2lb_(long *n, double *x, double *f,
2844
- double *g, long *iprint, long *itfile, long *iter,
2845
- long *nfgv, long *nact, double *sbgnrm, long *nseg, char*word,
2846
- long *iword, long *iback, double *stp, double *xstep)
2847
- {
2784
+ int prn2lb_(long* n, double* x, double* f, double* g, long* iprint, long* itfile, long* iter, long* nfgv, long* nact,
2785
+ double* sbgnrm, long* nseg, char* word, long* iword, long* iback, double* stp, double* xstep) {
2848
2786
  long i__1;
2849
2787
  static long i__, imod;
2850
- FILE *itfptr;
2788
+ FILE* itfptr;
2851
2789
  --g;
2852
2790
  --x;
2853
2791
 
@@ -2890,8 +2828,8 @@ int prn2lb_(long *n, double *x, double *f,
2890
2828
  }
2891
2829
  if (*iprint >= 1) {
2892
2830
  itfptr = fopen("iterate.dat", "a");
2893
- fprintf(itfptr, " %4ld %4ld %5ld %5ld %3s %4ld %7.1E %7.1E %10.3E %10.3E\n",
2894
- *iter, *nfgv, *nseg, *nact, word, *iback, *stp, *xstep, *sbgnrm, *f);
2831
+ fprintf(itfptr, " %4ld %4ld %5ld %5ld %3s %4ld %7.1E %7.1E %10.3E %10.3E\n", *iter, *nfgv, *nseg, *nact, word, *iback,
2832
+ *stp, *xstep, *sbgnrm, *f);
2895
2833
  fclose(itfptr);
2896
2834
  }
2897
2835
  return 0;
@@ -2913,15 +2851,11 @@ int prn2lb_(long *n, double *x, double *f,
2913
2851
  * Ciyou Zhu
2914
2852
  * in collaboration with R.H. Byrd, P. Lu-Chen and J. Nocedal.
2915
2853
  */
2916
- int prn3lb_(long *n, double *x, double *f, char *task,
2917
- long *iprint, long *info, long *itfile, long *iter,
2918
- long *nfgv, long *nintol, long *nskip, long *nact,
2919
- double *sbgnrm, double *time, long *nseg, char *word,
2920
- long *iback, double *stp, double *xstep, long *k,
2921
- double *cachyt, double *sbtime, double *lnscht)
2922
- {
2854
+ int prn3lb_(long* n, double* x, double* f, char* task, long* iprint, long* info, long* itfile, long* iter, long* nfgv,
2855
+ long* nintol, long* nskip, long* nact, double* sbgnrm, double* time, long* nseg, char* word, long* iback,
2856
+ double* stp, double* xstep, long* k, double* cachyt, double* sbtime, double* lnscht) {
2923
2857
  long i__1;
2924
- FILE *itfptr;
2858
+ FILE* itfptr;
2925
2859
  static long i__;
2926
2860
 
2927
2861
  --x;
@@ -3023,8 +2957,8 @@ L999:
3023
2957
  if (*iprint >= 1) {
3024
2958
  itfptr = fopen("iterate.dat", "a");
3025
2959
  if (*info == -4 || *info == -9) {
3026
- fprintf(itfptr, " %4ld %4ld %5ld %5ld %3s %4ld %7.1E %7.1E - -\n",
3027
- *iter, *nfgv, *nseg, *nact, word, *iback, *stp, *xstep);
2960
+ fprintf(itfptr, " %4ld %4ld %5ld %5ld %3s %4ld %7.1E %7.1E - -\n", *iter, *nfgv, *nseg, *nact, word,
2961
+ *iback, *stp, *xstep);
3028
2962
  }
3029
2963
  fprintf(itfptr, "\n");
3030
2964
  fprintf(itfptr, "%s\n", task);
@@ -3090,9 +3024,7 @@ L999:
3090
3024
  * Ciyou Zhu
3091
3025
  * in collaboration with R.H. Byrd, P. Lu-Chen and J. Nocedal.
3092
3026
  */
3093
- int projgr_(long *n, double *l, double *u,
3094
- long *nbd, double *x, double *g, double *sbgnrm)
3095
- {
3027
+ int projgr_(long* n, double* l, double* u, long* nbd, double* x, double* g, double* sbgnrm) {
3096
3028
  long i__1;
3097
3029
  double d__1, d__2;
3098
3030
  static long i__;
@@ -3299,13 +3231,9 @@ int projgr_(long *n, double *l, double *u,
3299
3231
  * Ciyou Zhu
3300
3232
  * in collaboration with R.H. Byrd, P. Lu-Chen and J. Nocedal
3301
3233
  */
3302
- int subsm_(long *n, long *m, long *nsub, long *ind,
3303
- double *l, double *u, long *nbd, double *x,
3304
- double *d__, double *xp, double *ws, double *wy,
3305
- double *theta, double *xx, double *gg, long *col,
3306
- long *head, long *iword, double *wv, double *wn,
3307
- long *iprint, long *info)
3308
- {
3234
+ int subsm_(long* n, long* m, long* nsub, long* ind, double* l, double* u, long* nbd, double* x, double* d__, double* xp,
3235
+ double* ws, double* wy, double* theta, double* xx, double* gg, long* col, long* head, long* iword, double* wv,
3236
+ double* wn, long* iprint, long* info) {
3309
3237
  long ws_dim1, ws_offset, wy_dim1, wy_offset, wn_dim1, wn_offset, i__1, i__2;
3310
3238
  double d__1, d__2;
3311
3239
  static long i__, j, k, m2;
@@ -3381,8 +3309,7 @@ int subsm_(long *n, long *m, long *nsub, long *ind,
3381
3309
  i__2 = *nsub;
3382
3310
  for (i__ = 1; i__ <= i__2; ++i__) {
3383
3311
  k = ind[i__];
3384
- d__[i__] = d__[i__] + wy[k + pointr * wy_dim1] * wv[jy] / *theta
3385
- + ws[k + pointr * ws_dim1] * wv[js];
3312
+ d__[i__] = d__[i__] + wy[k + pointr * wy_dim1] * wv[jy] / *theta + ws[k + pointr * ws_dim1] * wv[js];
3386
3313
  }
3387
3314
  pointr = pointr % *m + 1;
3388
3315
  }
@@ -3637,11 +3564,8 @@ L911:
3637
3564
  * Argonne National Laboratory and University of Minnesota.
3638
3565
  * Brett M. Averick, Richard G. Carter, and Jorge J. More'.
3639
3566
  */
3640
- int dcsrch_(double *f, double *g, double *stp,
3641
- double *ftol, double *gtol, double *xtol,
3642
- double *stpmin, double *stpmax,
3643
- char *task, long *isave, double *dsave)
3644
- {
3567
+ int dcsrch_(double* f, double* g, double* stp, double* ftol, double* gtol, double* xtol, double* stpmin, double* stpmax,
3568
+ char* task, long* isave, double* dsave) {
3645
3569
 
3646
3570
  double d__1;
3647
3571
  static double fm, gm, fx, fy, gx, gy, fxm, fym, gxm, gym, stx, sty;
@@ -3917,11 +3841,8 @@ L1000:
3917
3841
  * Argonne National Laboratory and University of Minnesota.
3918
3842
  * Brett M. Averick and Jorge J. More'.
3919
3843
  */
3920
- int dcstep_(double *stx, double *fx, double *dx,
3921
- double *sty, double *fy, double *dy, double *stp,
3922
- double *fp, double *dp, long *brackt, double *stpmin,
3923
- double *stpmax)
3924
- {
3844
+ int dcstep_(double* stx, double* fx, double* dx, double* sty, double* fy, double* dy, double* stp, double* fp, double* dp,
3845
+ long* brackt, double* stpmin, double* stpmax) {
3925
3846
  double d__1, d__2, d__3;
3926
3847
  static double p, q, r__, s, sgnd, stpc, stpf, stpq, gamma, theta;
3927
3848
 
@@ -3953,10 +3874,10 @@ int dcstep_(double *stx, double *fx, double *dx,
3953
3874
  stpf = stpc + (stpq - stpc) / 2.;
3954
3875
  }
3955
3876
  *brackt = TRUE_;
3956
- /* Second case: A lower function value and derivatives of opposite */
3957
- /* sign. The minimum is bracketed. If the cubic step is farther from */
3958
- /* stp than the secant step, the cubic step is taken, otherwise the */
3959
- /* secant step is taken. */
3877
+ /* Second case: A lower function value and derivatives of opposite */
3878
+ /* sign. The minimum is bracketed. If the cubic step is farther from */
3879
+ /* stp than the secant step, the cubic step is taken, otherwise the */
3880
+ /* secant step is taken. */
3960
3881
  } else if (sgnd < 0.) {
3961
3882
  theta = (*fx - *fp) * 3. / (*stp - *stx) + *dx + *dp;
3962
3883
  d__1 = fabs(theta);
@@ -3980,8 +3901,8 @@ int dcstep_(double *stx, double *fx, double *dx,
3980
3901
  stpf = stpq;
3981
3902
  }
3982
3903
  *brackt = TRUE_;
3983
- /* Third case: A lower function value, derivatives of the same sign, */
3984
- /* and the magnitude of the derivative decreases. */
3904
+ /* Third case: A lower function value, derivatives of the same sign, */
3905
+ /* and the magnitude of the derivative decreases. */
3985
3906
  } else if (fabs(*dp) < fabs(*dx)) {
3986
3907
  /* The cubic step is computed only if the cubic tends to infinity */
3987
3908
  /* in the direction of the step or if the minimum of the cubic */
@@ -4041,10 +3962,10 @@ int dcstep_(double *stx, double *fx, double *dx,
4041
3962
  stpf = *stpmax <= stpf ? *stpmax : stpf;
4042
3963
  stpf = *stpmin >= stpf ? *stpmin : stpf;
4043
3964
  }
4044
- /* Fourth case: A lower function value, derivatives of the same sign, */
4045
- /* and the magnitude of the derivative does not decrease. If the */
4046
- /* minimum is not bracketed, the step is either stpmin or stpmax, */
4047
- /* otherwise the cubic step is taken. */
3965
+ /* Fourth case: A lower function value, derivatives of the same sign, */
3966
+ /* and the magnitude of the derivative does not decrease. If the */
3967
+ /* minimum is not bracketed, the step is either stpmin or stpmax, */
3968
+ /* otherwise the cubic step is taken. */
4048
3969
  } else {
4049
3970
  if (*brackt) {
4050
3971
  theta = (*fp - *fy) * 3. / (*sty - *stp) + *dy + *dp;
@@ -4052,7 +3973,7 @@ int dcstep_(double *stx, double *fx, double *dx,
4052
3973
  d__2 = fabs(*dy);
4053
3974
  d__1 = d__1 >= d__2 ? d__1 : d__2;
4054
3975
  d__2 = fabs(*dp);
4055
- s = d__1 >= d__2 ? d__1: d__2;
3976
+ s = d__1 >= d__2 ? d__1 : d__2;
4056
3977
  d__1 = theta / s;
4057
3978
  gamma = s * sqrt(d__1 * d__1 - *dy / s * (*dp / s));
4058
3979
  if (*stp > *sty) {
@@ -4089,8 +4010,7 @@ int dcstep_(double *stx, double *fx, double *dx,
4089
4010
  return 0;
4090
4011
  }
4091
4012
 
4092
- int timer_(double *ttime)
4093
- {
4013
+ int timer_(double* ttime) {
4094
4014
  *ttime = (double)clock() / CLOCKS_PER_SEC;
4095
4015
  return 0;
4096
4016
  }