Example #1
0
        public EvaluationNodeReference AddAnalysisNode(ref EvaluationNode evaluationNode)
        {
            var buffer = GetBuffer();

            var bufferIndex = (ushort)_evaluationNodeBuffers.IndexOf(buffer);

            buffer.Entries[buffer.LowestFreeSlot] = evaluationNode;
            var reference = new EvaluationNodeReference {
                Buffer = bufferIndex, Index = buffer.LowestFreeSlot
            };

            buffer.LowestFreeSlot++;

            return(reference);
        }
Example #2
0
        public INode GetEvaluationNode(EvaluationNodeReference evaluationNodeReference)
        {
            var buffer = _evaluationNodeBuffers[evaluationNodeReference.Buffer];

            return(buffer.Entries[evaluationNodeReference.Index]);
        }