Sha256: 8175c5cc8e2afa04aa1c83b5fe6d75d7b0d0ed42b4180b9058ae014a2fe63e72

Contents?: true

Size: 1.29 KB

Versions: 28

Compression:

Stored size: 1.29 KB

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

  def self.aetg(params, opts = {})
    opts = DEFUALT_OPTS.dup.merge(opts)
    constraints = constraints_to_java(params.length, opts[:constraints])
    com.github.jesg.dither.Dither.aetg(
      opts[:t].to_java(:int),
      opts[:seed].to_java(:Integer),
      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

28 entries across 28 versions & 1 rubygems

Version Path
dither-0.2.7-java lib/dither/java_ext/dither.rb
dither-0.2.7 lib/dither/java_ext/dither.rb
dither-0.2.6 lib/dither/java_ext/dither.rb
dither-0.2.6-java lib/dither/java_ext/dither.rb
dither-0.2.5 lib/dither/java_ext/dither.rb
dither-0.2.5-java lib/dither/java_ext/dither.rb
dither-0.2.2-java lib/dither/java_ext/dither.rb
dither-0.2.2 lib/dither/java_ext/dither.rb
dither-0.2.1 lib/dither/java_ext/dither.rb
dither-0.2.1-java lib/dither/java_ext/dither.rb
dither-0.2.0-java lib/dither/java_ext/dither.rb
dither-0.2.0 lib/dither/java_ext/dither.rb
dither-0.2.0.rc5 lib/dither/java_ext/dither.rb
dither-0.2.0.rc5-java lib/dither/java_ext/dither.rb
dither-0.2.0.rc4-java lib/dither/java_ext/dither.rb
dither-0.2.0.rc4 lib/dither/java_ext/dither.rb
dither-0.2.0.rc3-java lib/dither/java_ext/dither.rb
dither-0.2.0.rc3 lib/dither/java_ext/dither.rb
dither-0.1.5 lib/dither/java_ext/dither.rb
dither-0.1.5-java lib/dither/java_ext/dither.rb