Ejemplo n.º 1
0
 private PrecalculatedTransitionTarget[] CreateEmptyPrecalculatedTransitionTargetArray()
 {
     PrecalculatedTransitionTarget[] outputTargets = new PrecalculatedTransitionTarget[Ltmdp.TransitionTargets];
     for (var i = 0; i < Ltmdp.TransitionTargets; i++)
     {
         outputTargets[i] = PrecalculatedTransitionTarget.Nothing;
     }
     return(outputTargets);
 }
Ejemplo n.º 2
0
 private PrecalculatedTransitionTarget[] CreateEmptyPrecalculatedTransitionTargetArray()
 {
     PrecalculatedTransitionTarget[] outputTargets = new PrecalculatedTransitionTarget[LabeledMarkovChain.Transitions];
     for (var i = 0L; i < LabeledMarkovChain.Transitions; i++)
     {
         outputTargets[i] = PrecalculatedTransitionTarget.Nothing;
     }
     return(outputTargets);
 }
Ejemplo n.º 3
0
        private double[] CreateDerivedVector(PrecalculatedTransitionTarget[] precalculatedTransitionTargets, PrecalculatedTransitionTarget flagToLookFor)
        {
            var derivedVector = new double[Ltmdp.TransitionTargets];

            for (var i = 0; i < Ltmdp.TransitionTargets; i++)
            {
                if (precalculatedTransitionTargets[i].HasFlag(flagToLookFor))
                {
                    derivedVector[i] = 1.0;
                }
                else
                {
                    derivedVector[i] = 0.0;
                }
            }
            return(derivedVector);
        }
Ejemplo n.º 4
0
 private IEnumerable <long> GetAllTransitionTargetIndexesWithFlag(PrecalculatedTransitionTarget[] precalculatedTransitionTargets, PrecalculatedTransitionTarget flag)
 {
     for (var i = 0L; i < precalculatedTransitionTargets.Length; i++)
     {
         if (precalculatedTransitionTargets[i].HasFlag(flag))
         {
             yield return(i);
         }
     }
 }
Ejemplo n.º 5
0
 private void SetFlagInUnmarkedTransitionTargets(PrecalculatedTransitionTarget[] precalculatedTransitionTargets, PrecalculatedTransitionTarget flagToSet)
 {
     for (var i = 0L; i < Ltmdp.TransitionTargets; i++)
     {
         if (precalculatedTransitionTargets[i].HasFlag(PrecalculatedTransitionTarget.Mark))
         {
             precalculatedTransitionTargets[i] = precalculatedTransitionTargets[i] & (~PrecalculatedTransitionTarget.Mark);
         }
         else
         {
             precalculatedTransitionTargets[i] = precalculatedTransitionTargets[i] | flagToSet;
         }
     }
 }