Sha256: 310a471c0b52592a634cd5216175262bfa3b0a263bba5342b9702cba378e2e17

Contents?: true

Size: 845 Bytes

Versions: 8

Compression:

Stored size: 845 Bytes

Contents

module Dither

  def self.ipog(params, opts = {})
    opts = DEFUALT_OPTS.dup.merge(opts)
    constraints = constraints_to_java(params.length, opts[:constraints])
    com.github.jesg.dither.Dither.ipog(
      opts[:t].to_java(:int),
      params.map(&:to_java).to_java,
      constraints,
      (opts[:previously_tested] || []).map(&:to_java).to_java).to_a
  rescue com.github.jesg.dither.DitherError => e
    raise Dither::Error.new(e.message)
  end

  private

  def self.constraints_to_java(param_length, constraints)
    return [].to_java if constraints.nil?
    result = []
    constraints.each do |constraint|
      new_constraint = Array.new(param_length)
      constraint.each do |k, v|
        new_constraint[k] = v
      end
      result << new_constraint
    end
    result.map { |a| a.to_java(java.lang.Integer) }.to_java
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
dither-0.0.13-java lib/dither/java_ext/dither.rb
dither-0.0.13 lib/dither/java_ext/dither.rb
dither-0.0.12-java lib/dither/java_ext/dither.rb
dither-0.0.12 lib/dither/java_ext/dither.rb
dither-0.0.11-java lib/dither/java_ext/dither.rb
dither-0.0.11 lib/dither/java_ext/dither.rb
dither-0.0.10 lib/dither/java_ext/dither.rb
dither-0.0.10-java lib/dither/java_ext/dither.rb