Sha256: 174fd0691b8600f00da78e05b68be42946594c3d4136a35c6dd1076eb1d343f4

Contents?: true

Size: 1.29 KB

Versions: 4

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.ateg(params, opts = {})
    opts = DEFUALT_OPTS.dup.merge(opts)
    constraints = constraints_to_java(params.length, opts[:constraints])
    com.github.jesg.dither.Dither.ateg(
      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

4 entries across 4 versions & 1 rubygems

Version Path
dither-0.0.15 lib/dither/java_ext/dither.rb
dither-0.0.15-java lib/dither/java_ext/dither.rb
dither-0.0.14 lib/dither/java_ext/dither.rb
dither-0.0.14-java lib/dither/java_ext/dither.rb