コード例 #1
0
 //Construct without financial terms
 public TermLevel(SimpleLevelInfo _levelNodeInfo, AtomicRITELevelInfo _levelARTIEInfo)
 {
     nodeInfo         = _levelNodeInfo;
     aRITEInfo        = _levelARTIEInfo;
     hasAtomicRITEs   = _levelARTIEInfo.Size > 0 ? true : false;
     isAllAtomicRITEs = hasAtomicRITEs && _levelNodeInfo.Size == 0 ? true : false;
 }
コード例 #2
0
 //Construct without financial terms
 public TermLevel(int _numOfNodes, int _numOfARites, int[] _nodePartitions, int[] _aRITEPartitions, int[] _atomicRITEIndicies, int[] _nodeFactorsIndex, int[] _aRiteFactorsIndex)
 {
     levelsize        = _numOfNodes + _numOfARites;
     nodeInfo         = new SimpleLevelInfo(_nodePartitions, _numOfNodes, _nodeFactorsIndex);
     aRITEInfo        = new AtomicRITELevelInfo(_aRITEPartitions, NumOfARITEs, _aRiteFactorsIndex, _atomicRITEIndicies);
     hasAtomicRITEs   = _numOfARites > 0 ? true : false;
     isAllAtomicRITEs = hasAtomicRITEs && _numOfNodes == 0 ? true : false;
 }
コード例 #3
0
 public TermLevel(bool _maxded, bool _percentded, float[] _minDeds, float[] _maxDeds, float[] _limits,
                  SimpleLevelInfo _levelNodeInfo, AtomicRITELevelInfo _levelARTIEInfo)
 {
     hasMaxDed        = _maxded;
     hasPercentDed    = _percentded;
     minDeds          = _minDeds;
     maxDeds          = _maxDeds;
     limits           = _limits;
     nodeInfo         = _levelNodeInfo;
     aRITEInfo        = _levelARTIEInfo;
     hasAtomicRITEs   = _levelARTIEInfo.Size > 0 ? true : false;
     isAllAtomicRITEs = hasAtomicRITEs && _levelNodeInfo.Size == 0 ? true : false;
 }
コード例 #4
0
 public TermLevel(int _numOfNodes, int _numOfARites, bool _maxded, bool _percentded, float[] _minDeds, float[] _maxDeds, float[] _limits,
                  int[] _nodePartitions, int[] _aRITEPartitions, int[] _atomicRITEIndicies, int[] _nodeFactorsIndex, int[] _aRiteFactorsIndex)
 {
     levelsize        = _numOfNodes + _numOfARites;
     hasMaxDed        = _maxded;
     hasPercentDed    = _percentded;
     hasFranchiseDed  = false;
     minDeds          = _minDeds;
     maxDeds          = _maxDeds;
     limits           = _limits;
     nodeInfo         = new SimpleLevelInfo(_nodePartitions, _numOfNodes, _nodeFactorsIndex);
     aRITEInfo        = new AtomicRITELevelInfo(_aRITEPartitions, _numOfARites, _aRiteFactorsIndex, _atomicRITEIndicies);
     hasAtomicRITEs   = _numOfARites > 0 ? true : false;
     isAllAtomicRITEs = hasAtomicRITEs && _numOfNodes == 0 ? true : false;
 }
コード例 #5
0
 public TermLevel(bool _maxded, bool _percentded, float[] _minDeds, float[] _maxDeds, float[] _limits,
                  SimpleLevelInfo _levelNodeInfo, AtomicRITELevelInfo _levelARTIEInfo
                  , bool _franchiseded, int[] _franchiseMinDedFlags, int[] _franchiseMaxDedFlags, bool[] _maxDedFlags)
 {
     hasMaxDed            = _maxded;
     hasPercentDed        = _percentded;
     hasFranchiseDed      = false;
     minDeds              = _minDeds;
     maxDeds              = _maxDeds;
     limits               = _limits;
     franchiseMinDedFlags = _franchiseMinDedFlags;
     franchiseMaxDedFlags = _franchiseMaxDedFlags;
     //maxDedFlags = _maxDedFlags;
     nodeInfo         = _levelNodeInfo;
     aRITEInfo        = _levelARTIEInfo;
     hasAtomicRITEs   = _levelARTIEInfo.Size > 0 ? true : false;
     isAllAtomicRITEs = hasAtomicRITEs && _levelNodeInfo.Size == 0 ? true : false;
 }
コード例 #6
0
        } //DoLowestLevel

        public void DoTermLevels(float[] FactorVector, int level) //only having AtomicRites
        {
            AtomicRITELevelInfo aRiteInfor = graph.GetAtomicRITEInfo(level).GetaRiteInfo();
            SimpleLevelInfo     nodeInfo   = graph.GetNodeAggInfo(level).GetSimpleLevelInfo();

            //Get Rites Factors
            int NumOfaRites = aRiteInfor.Size;

            int[]   aRiteFactorsIndex = aRiteInfor.FactorsIndex;
            float[] aRiteFactors      = graphstate.GetARITELevelState(level).GetFactors();
            for (int i = 0; i < NumOfaRites; i++)
            {
                int uniqueIndex = aRiteFactorsIndex[i];
                if (uniqueIndex == -1)
                {
                    aRiteFactors[i] = 1;
                }
                else
                {
                    aRiteFactors[i] = FactorVector[uniqueIndex];
                }
            }

            //Get Node Factors
            int NumOfNodes = nodeInfo.Size;

            int[]   nodeFactorsIndex = nodeInfo.FactorsIndex;
            float[] nodeFactors      = graphstate.GetTermLevelState(level).GetFactors();
            for (int i = 0; i < NumOfNodes; i++)
            {
                int uniqueIndex = nodeFactorsIndex[i];
                if (uniqueIndex == -1)
                {
                    nodeFactors[i] = 1;
                }
                else
                {
                    nodeFactors[i] = FactorVector[uniqueIndex];
                }
            }
        }  //DoTermLevels
コード例 #7
0
 public AtomicRITELevel(AtomicRITELevelInfo aRITElevelInfo)
 {
     levelsize = aRITElevelInfo.Size;
     aRITEInfo = aRITElevelInfo;
 }
コード例 #8
0
 public AtomicRITELevel(int[] _partitions, int size, int[] _factorsIndex, int[] _atomicRITEIndicies)
 {
     levelsize = size;
     aRITEInfo = new AtomicRITELevelInfo(_partitions, size, _factorsIndex, _atomicRITEIndicies);
 }