RLPark 1.0.0
Reinforcement Learning Framework in Java

ObservationVersatileArray.java

Go to the documentation of this file.
00001 package rlpark.plugin.robot.observations;
00002 
00003 import java.util.List;
00004 
00005 import rlpark.plugin.rltoys.envio.observations.ObsAsDoubles;
00006 import rlpark.plugin.rltoys.math.GrayCode;
00007 import rlpark.plugin.rltoys.math.vector.BinaryVector;
00008 import rlpark.plugin.rltoys.math.vector.implementations.BVector;
00009 
00010 
00011 public class ObservationVersatileArray implements ObsAsDoubles {
00012   private final ObservationVersatile[] observations;
00013 
00014   public ObservationVersatileArray(List<ObservationVersatile> observations) {
00015     this.observations = new ObservationVersatile[observations.size()];
00016     observations.toArray(this.observations);
00017   }
00018 
00019   public ObservationVersatile last() {
00020     if (observations == null || observations.length == 0)
00021       return null;
00022     return observations[observations.length - 1];
00023   }
00024 
00025   public BinaryVector toRawBinary() {
00026     ObservationVersatile last = last();
00027     if (last == null)
00028       return null;
00029     return BVector.toBinary(last.rawData());
00030   }
00031 
00032   public BinaryVector toGrayCodeBinary() {
00033     ObservationVersatile last = last();
00034     if (last == null)
00035       return null;
00036     return BVector.toBinary(GrayCode.toGrayCode(last.rawData()));
00037   }
00038 
00039   @Override
00040   public double[] doubleValues() {
00041     ObservationVersatile last = last();
00042     if (last == null)
00043       return null;
00044     return last.doubleValues();
00045   }
00046 
00047   public ObservationVersatile[] array() {
00048     return observations;
00049   }
00050 }
 All Classes Namespaces Files Functions Variables Enumerations
Zephyr
RLPark