clp 0.1.0 → 0.1.1
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/CHANGELOG.md +5 -0
- data/README.md +2 -2
- data/lib/clp/ffi.rb +3 -1
- data/lib/clp/model.rb +3 -0
- data/lib/clp/version.rb +1 -1
- data/lib/clp.rb +7 -4
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1c01ab7d7209bb40c13fe725a54180e7001bd3eff8c406c83e9edb8fa0d686f9
|
4
|
+
data.tar.gz: 9a82639091ecc4cfb4029c7c4ff60ff3913b57cd010e2e21a67580a94b98e6ca
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e267c07368a63e59e45eceba7dc008b7192fd65ef33e8fe87ba2517f490a7727388414ad9640ccd1f6adc04613440513b77c911440e9205c7489234bc1ec4c8d
|
7
|
+
data.tar.gz: 21578e3dcd102e122ba217adfa41a1c6b6302d13cc26cb13ea054c64ea6c1181f7ae3200090884d24aa04914a284e476b8a13c8446dd0d0b8c3ff6b29f0241ab
|
data/CHANGELOG.md
CHANGED
data/README.md
CHANGED
@@ -18,7 +18,7 @@ And for Ubuntu, use:
|
|
18
18
|
sudo apt-get install coinor-libclp1
|
19
19
|
```
|
20
20
|
|
21
|
-
|
21
|
+
Then add this line to your application’s Gemfile:
|
22
22
|
|
23
23
|
```ruby
|
24
24
|
gem "clp"
|
@@ -51,7 +51,7 @@ Solve
|
|
51
51
|
model.solve
|
52
52
|
```
|
53
53
|
|
54
|
-
Write the problem to an MPS file
|
54
|
+
Write the problem to an MPS file (requires Clp 1.17.2+)
|
55
55
|
|
56
56
|
```ruby
|
57
57
|
model.write_mps("hello.mps")
|
data/lib/clp/ffi.rb
CHANGED
@@ -33,7 +33,9 @@ module Clp
|
|
33
33
|
# load models
|
34
34
|
extern "void Clp_loadProblem(Clp_Simplex *model, int numcols, int numrows, CoinBigIndex *start, int *index, double *value, double *collb, double *colub, double *obj, double *rowlb, double *rowub)"
|
35
35
|
extern "int Clp_readMps(Clp_Simplex *model, char *filename, int keepNames, int ignoreErrors)"
|
36
|
-
|
36
|
+
if Gem::Version.new(FFI.Clp_Version.to_s) >= Gem::Version.new("1.17.2")
|
37
|
+
extern "int Clp_writeMps(Clp_Simplex *model, char *filename, int formatType, int numberAcross, double objSense)"
|
38
|
+
end
|
37
39
|
|
38
40
|
# getters and setters
|
39
41
|
extern "int Clp_numberRows(Clp_Simplex *model)"
|
data/lib/clp/model.rb
CHANGED
data/lib/clp/version.rb
CHANGED
data/lib/clp.rb
CHANGED
@@ -13,13 +13,16 @@ module Clp
|
|
13
13
|
end
|
14
14
|
lib_name =
|
15
15
|
if Gem.win_platform?
|
16
|
-
|
16
|
+
# TODO test
|
17
|
+
["Clp.dll"]
|
17
18
|
elsif RbConfig::CONFIG["host_os"] =~ /darwin/i
|
18
|
-
"
|
19
|
+
["libClp.dylib"]
|
19
20
|
else
|
20
|
-
|
21
|
+
# coinor-libclp-dev has libClp.so
|
22
|
+
# coinor-libclp1 has libClp.so.1
|
23
|
+
["libClp.so", "libClp.so.1"]
|
21
24
|
end
|
22
|
-
self.ffi_lib =
|
25
|
+
self.ffi_lib = lib_name
|
23
26
|
|
24
27
|
# friendlier error message
|
25
28
|
autoload :FFI, "clp/ffi"
|