RLPark 1.0.0
Reinforcement Learning Framework in Java

RangeProvider.java

Go to the documentation of this file.
00001 package rlpark.plugin.robot.internal.ranges;
00002 
00003 import java.util.HashMap;
00004 import java.util.Map;
00005 
00006 import rlpark.plugin.rltoys.envio.observations.Legend;
00007 import rlpark.plugin.rltoys.math.ranges.Range;
00008 import rlpark.plugin.robot.internal.disco.datagroup.DropScalarGroup;
00009 import rlpark.plugin.robot.internal.disco.datatype.Ranged;
00010 import rlpark.plugin.robot.internal.disco.drops.DropData;
00011 
00012 public class RangeProvider {
00013   private final Map<String, Range> labelToRanges = new HashMap<String, Range>();
00014 
00015   public RangeProvider(DropScalarGroup datas, Map<String, Range> missing) {
00016     for (DropData drop : datas.drop().dropDatas())
00017       if (drop instanceof Ranged)
00018         labelToRanges.put(drop.label, ((Ranged) drop).range());
00019     if (missing != null)
00020       labelToRanges.putAll(missing);
00021   }
00022 
00023   public Range[] ranges(Legend legend) {
00024     Range[] ranges = new Range[legend.nbLabels()];
00025     for (int i = 0; i < ranges.length; i++) {
00026       String label = legend.label(i);
00027       Range range = labelToRanges.get(label);
00028       assert range != null;
00029       ranges[i] = range;
00030     }
00031     return ranges;
00032   }
00033 }
 All Classes Namespaces Files Functions Variables Enumerations
Zephyr
RLPark