コード例 #1
0
        public RandomVariable GetRandomVariable(object owner, IContextLookup globalVars)
        {
            Domain objDomain;

            switch (DomainType)
            {
            case RandomVariableDomainType.Boolean:
                objDomain = new BooleanDomain();
                break;

            case RandomVariableDomainType.FiniteInteger:

                objDomain =
                    new FiniteIntegerDomain(IntValues.ConvertAll <Integer>(intObj => new Integer(intObj)).ToArray());
                break;

            case RandomVariableDomainType.ArbitraryToken:
                var enumerable = ArbitraryValues.EvaluateTyped(owner, globalVars);
                var asList     = new System.Collections.ArrayList();
                foreach (object o in enumerable)
                {
                    asList.Add(o);
                }
                objDomain =
                    new ArbitraryTokenDomain(asList.ToArray());
                break;

            default:
                throw new ArgumentOutOfRangeException();
            }
            return(new RandVar(Name, objDomain));
        }
コード例 #2
0
ファイル: Domain.cs プロジェクト: tralivali1234/IL2JS
 public Effects
     (ReadWriteVectorDomain args, ReadWriteVectorDomain locals, ReadWriteDomain heap, BooleanDomain mayThrow)
 {
     Args     = args;
     Locals   = locals;
     Heap     = heap;
     MayThrow = mayThrow;
 }
コード例 #3
0
ファイル: Domain.cs プロジェクト: tralivali1234/IL2JS
 public Effects(IntSet argsIsRead, IntSet argsIsWrite, IntSet localsIsRead, IntSet localsIsWrite,
                bool heapIsRead, bool heapIsWrite, bool exceptions)
 {
     Args     = new ReadWriteVectorDomain(argsIsRead, argsIsWrite);
     Locals   = new ReadWriteVectorDomain(localsIsRead, localsIsWrite);
     Heap     = new ReadWriteDomain(heapIsRead, heapIsWrite);
     MayThrow = new BooleanDomain(exceptions);
 }
コード例 #4
0
ファイル: Domain.cs プロジェクト: tralivali1234/IL2JS
 public PointsTo(IntPowersetDomain args, IntPowersetDomain locals, BooleanDomain heap)
 {
     Args   = args;
     Locals = locals;
     Heap   = heap;
 }
コード例 #5
0
ファイル: Domain.cs プロジェクト: tralivali1234/IL2JS
 public Effects(DroppedDomain <VariableEffects> vars, ReadWriteDomain heap, BooleanDomain mayThrow)
 {
     Vars     = vars;
     Heap     = heap;
     MayThrow = mayThrow;
 }