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 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
  }