-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathpackage.yaml
141 lines (128 loc) · 3.79 KB
/
package.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
name: numeric-optimization
version: 0.2.0.0
github: "msakai/nonlinear-optimization-ad"
license: BSD3
author: "Masahiro Sakai"
maintainer: "[email protected]"
copyright: "Copyright (c) 2023 Masahiro Sakai"
extra-source-files:
- README.md
- CHANGELOG.md
# Metadata used when publishing your package
synopsis: Unified interface to various numerical optimization algorithms
category: Math, Algorithms, Optimisation, Optimization, Numeric, Numerical
# To avoid duplicated efforts in documentation and dealing with the
# complications of embedding Haddock markup inside cabal files, it is
# common to point users to the README.md file.
description: Please see the README on GitHub at <https://github.com/msakai/nonlinear-optimization-ad/tree/master/numeric-optimization#readme>
tested-with:
- GHC == 9.8.2
- GHC == 9.6.5
- GHC == 9.4.5
- GHC == 9.2.8
- GHC == 9.0.2
- GHC == 8.10.7
- GHC == 8.8.4
- GHC == 8.6.5
flags:
with-cg-descent:
description: Enable CGDescent optimization algorithm provided by nonlinear-optimization package and CG_DESCENT-C library. Since they are licensed under GPL, setting this flag True implies that resulting binary is also under GPL.
default: false
manual: true
with-lbfgs:
description: Enable L-BFGS (since 0.1.1.0)
default: true
manual: true
with-lbfgsb:
description: Enable L-BFGS-B (since 0.1.1.0)
default: false
manual: true
build-examples:
description: Build example programs
default: false
manual: true
dependencies:
- base >=4.12 && <5
- data-default-class >=0.1.2.0 && <0.3
- vector >=0.12.0.2 && <0.14
ghc-options:
- -Wall
- -Wcompat
- -Widentities
- -Wincomplete-record-updates
- -Wincomplete-uni-patterns
- -Wmissing-export-lists
- -Wmissing-home-modules
- -Wpartial-fields
- -Wredundant-constraints
library:
source-dirs: src
other-modules:
- Numeric.Optimization.Internal.Base
- Numeric.Optimization.Internal.Method.CGDescent
- Numeric.Optimization.Internal.Method.LBFGS
- Numeric.Optimization.Internal.Method.LBFGSB
- Numeric.Optimization.Internal.Method.Newton
dependencies:
- constraints
- containers >=0.6.0.1 && <0.8
- hmatrix >=0.20.0.0
- numeric-limits >=0.1 && <0.2
- mono-traversable >=1.0.15.1 && <1.1
- mtl >=2.2.2 && <2.4
- primitive >=0.6.4.0
when:
- condition: flag(with-cg-descent)
then:
dependencies:
- nonlinear-optimization >=0.3.7 && <0.4
cpp-options: "-DWITH_CG_DESCENT"
else:
# dummy for avoiding "'else' branch of 'if' is empty" error on old Cabal
cpp-options: " "
- condition: flag(with-lbfgs)
then:
dependencies:
- lbfgs >=0.1 && <0.2
cpp-options: "-DWITH_LBFGS"
else:
# dummy for avoiding "'else' branch of 'if' is empty" error on old Cabal
cpp-options: " "
- condition: flag(with-lbfgsb)
then:
dependencies:
- l-bfgs-b >=0.1.0.1 && <0.2
cpp-options: "-DWITH_LBFGSB"
else:
# dummy for avoiding "'else' branch of 'if' is empty" error on old Cabal
cpp-options: " "
executables:
rosenbrock:
main: rosenbrock.hs
source-dirs: examples
ghc-options:
- -threaded
- -rtsopts
- -with-rtsopts=-N
dependencies:
- numeric-optimization
when:
- condition: flag(build-examples)
then:
buildable: true
else:
buildable: false
tests:
numeric-optimization-test:
main: Spec.hs
source-dirs: test
ghc-options:
- -threaded
- -rtsopts
- -with-rtsopts=-N
dependencies:
- containers >=0.6.0.1 && <0.8
- hmatrix
- hspec >=2.7.1 && <3.0
- HUnit >=1.6.0.0 && <1.7
- numeric-optimization