コード例 #1
0
    // Use this for initialization
    public override NodePort GetOutputPort()
    {
        var outputEnumerator = DynamicOutputs.GetEnumerator();

        for (int i = 0; i < index + 1; i++)
        {
            outputEnumerator.MoveNext();
        }

        return(outputEnumerator.Current);
    }
コード例 #2
0
 //////////////////////////////////////////////////////////////////////////
 public override IEnumerator Activate()
 {
     // activate nodes
     foreach (var port in DynamicOutputs
              .Where(n => n.fieldName.StartsWith(nameof(m_Next)))
              .OrderBy(n => int.Parse(n.fieldName.Substring(nameof(m_Next).Length)))) // order by index for assurance
     {
         if (port.IsConnected && port.Connection?.node is IActivationNode logicNode)
         {
             yield return(logicNode.Activate());
         }
     }
 }
コード例 #3
0
        public void Dispose()
        {
            workerTokenSrc.Cancel();
            StopRlmDbWorkersSessions();
            StopRlmDbWorkersCases();

            BestSolutions?.Clear();
            BestSolutionStaging?.Clear();
            Sessions?.Clear();
            Rneurons?.Clear();
            Solutions?.Clear();

            if (SessionsQueueToCreate != null && SessionsQueueToCreate.Count > 0)
            {
                Session removedSess;
                foreach (var item in SessionsQueueToCreate)
                {
                    SessionsQueueToCreate.TryDequeue(out removedSess);
                }
            }

            if (SessionsQueueToUpdate != null && SessionsQueueToUpdate.Count > 0)
            {
                Session removedSess;
                foreach (var item in SessionsQueueToUpdate)
                {
                    SessionsQueueToUpdate.TryDequeue(out removedSess);
                }
            }

            DynamicInputs?.Clear();
            DynamicOutputs?.Clear();

            if (GPUMode)
            {
                if (rneuronProcessor is IDisposable)
                {
                    (rneuronProcessor as IDisposable).Dispose();
                }
            }
        }