nlopt 0.1.2 → 0.1.3
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 +4 -0
- data/lib/nlopt/opt.rb +7 -7
- data/lib/nlopt/version.rb +1 -1
- data/lib/nlopt.rb +2 -2
- metadata +3 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 602a77cd42c00081de3dede47c44ee742f7e4005e1021147f156748ccd1237d0
|
4
|
+
data.tar.gz: b1bc21d5c4623003966dcc5847faf9e72e9c24036103aee70471c0c55d971753
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 107e857772ea0e4ff58ca66d0d94b4343dd096b85645a7718667cb739cfdf7aa57fb34fd848c12ea0151105cdb99af2e59ccdaff436ca62e19a7743277e23255
|
7
|
+
data.tar.gz: 2263fcc3f23bfcd103ff35d4f28357a133e00d82317578649343be47e31018ad7546e23eaffcba9a6061ce40aa936a702028aec6b84533ce4651b9f34969622c
|
data/CHANGELOG.md
CHANGED
data/lib/nlopt/opt.rb
CHANGED
@@ -3,7 +3,7 @@ module NLopt
|
|
3
3
|
attr_reader :last_optimum_value
|
4
4
|
|
5
5
|
def initialize(algorithm, n)
|
6
|
-
algorithm = FFI.nlopt_algorithm_from_string(algorithm)
|
6
|
+
algorithm = FFI.nlopt_algorithm_from_string(+algorithm)
|
7
7
|
if algorithm < 0
|
8
8
|
raise ArgumentError, "Invalid algorithm"
|
9
9
|
end
|
@@ -170,15 +170,15 @@ module NLopt
|
|
170
170
|
end
|
171
171
|
|
172
172
|
def set_param(name, val)
|
173
|
-
check_res FFI.nlopt_set_param(@opt, name, val)
|
173
|
+
check_res FFI.nlopt_set_param(@opt, +name, val)
|
174
174
|
end
|
175
175
|
|
176
176
|
def param(name, defaultval)
|
177
|
-
FFI.nlopt_get_param(@opt, name, defaultval)
|
177
|
+
FFI.nlopt_get_param(@opt, +name, defaultval)
|
178
178
|
end
|
179
179
|
|
180
180
|
def has_param?(name)
|
181
|
-
FFI.nlopt_has_param(@opt, name) == 1
|
181
|
+
FFI.nlopt_has_param(@opt, +name) == 1
|
182
182
|
end
|
183
183
|
|
184
184
|
def num_params
|
@@ -192,7 +192,7 @@ module NLopt
|
|
192
192
|
|
193
193
|
def optimize(init)
|
194
194
|
x = alloc_dptr(init)
|
195
|
-
opt_f = Fiddle::Pointer.malloc(Fiddle::SIZEOF_DOUBLE)
|
195
|
+
opt_f = Fiddle::Pointer.malloc(Fiddle::SIZEOF_DOUBLE, Fiddle::RUBY_FREE)
|
196
196
|
res = FFI.nlopt_optimize(@opt, x, opt_f)
|
197
197
|
|
198
198
|
if res < 0 && res != -4
|
@@ -266,11 +266,11 @@ module NLopt
|
|
266
266
|
|
267
267
|
def read_dptr(ptr, size = nil)
|
268
268
|
size ||= ptr.size
|
269
|
-
ptr.
|
269
|
+
ptr.to_str(size).unpack("d*")
|
270
270
|
end
|
271
271
|
|
272
272
|
def out_dptr
|
273
|
-
ptr = Fiddle::Pointer.malloc(dimension * Fiddle::SIZEOF_DOUBLE)
|
273
|
+
ptr = Fiddle::Pointer.malloc(dimension * Fiddle::SIZEOF_DOUBLE, Fiddle::RUBY_FREE)
|
274
274
|
res = yield ptr
|
275
275
|
check_res res
|
276
276
|
read_dptr(ptr)
|
data/lib/nlopt/version.rb
CHANGED
data/lib/nlopt.rb
CHANGED
@@ -33,9 +33,9 @@ module NLopt
|
|
33
33
|
autoload :FFI, "nlopt/ffi"
|
34
34
|
|
35
35
|
def self.lib_version
|
36
|
-
major, minor, bugfix = 3.times.map { Fiddle::Pointer.malloc(Fiddle::SIZEOF_INT) }
|
36
|
+
major, minor, bugfix = 3.times.map { Fiddle::Pointer.malloc(Fiddle::SIZEOF_INT, Fiddle::RUBY_FREE) }
|
37
37
|
FFI.nlopt_version(major, minor, bugfix)
|
38
|
-
[major, minor, bugfix].map { |v| v.
|
38
|
+
[major, minor, bugfix].map { |v| v.to_str(v.size).unpack1("i") }.join(".")
|
39
39
|
end
|
40
40
|
|
41
41
|
def self.srand(seed)
|
metadata
CHANGED
@@ -1,14 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: nlopt
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Andrew Kane
|
8
|
-
autorequire:
|
9
8
|
bindir: bin
|
10
9
|
cert_chain: []
|
11
|
-
date:
|
10
|
+
date: 1980-01-02 00:00:00.000000000 Z
|
12
11
|
dependencies:
|
13
12
|
- !ruby/object:Gem::Dependency
|
14
13
|
name: fiddle
|
@@ -24,7 +23,6 @@ dependencies:
|
|
24
23
|
- - ">="
|
25
24
|
- !ruby/object:Gem::Version
|
26
25
|
version: '0'
|
27
|
-
description:
|
28
26
|
email: andrew@ankane.org
|
29
27
|
executables: []
|
30
28
|
extensions: []
|
@@ -42,7 +40,6 @@ homepage: https://github.com/ankane/nlopt-ruby
|
|
42
40
|
licenses:
|
43
41
|
- MIT
|
44
42
|
metadata: {}
|
45
|
-
post_install_message:
|
46
43
|
rdoc_options: []
|
47
44
|
require_paths:
|
48
45
|
- lib
|
@@ -57,8 +54,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
57
54
|
- !ruby/object:Gem::Version
|
58
55
|
version: '0'
|
59
56
|
requirements: []
|
60
|
-
rubygems_version: 3.
|
61
|
-
signing_key:
|
57
|
+
rubygems_version: 3.6.7
|
62
58
|
specification_version: 4
|
63
59
|
summary: Nonlinear optimization for Ruby
|
64
60
|
test_files: []
|