コード例 #1
0
 public override void ReceiveInputValue <T>(T value, IBatchCircuitEvaluator <T> evaluator, ForwardEvaluationState <T> evaluationState, CircuitContext circuitContext)
 {
     evaluationState.SetOutput(_outputIndex, value);
 }
コード例 #2
0
 public abstract void ReceiveInputValue <T>(T value, IBatchCircuitEvaluator <T> evaluator, ForwardEvaluationState <T> evaluationState, CircuitContext circuitContext);
コード例 #3
0
 public void SendOutputValue <T>(T value, IBatchCircuitEvaluator <T> evaluator, ForwardEvaluationState <T> evaluationState, CircuitContext circuitContext)
 {
     foreach (ForwardGate successor in _successors)
     {
         successor.ReceiveInputValue(value, evaluator, evaluationState, circuitContext);
     }
 }
コード例 #4
0
        public override void ReceiveInputValue <T>(T value, IBatchCircuitEvaluator <T> evaluator, ForwardEvaluationState <T> evaluationState, CircuitContext circuitContext)
        {
            T outputValue = evaluator.EvaluateNotGate(value, _context, circuitContext);

            SendOutputValue(outputValue, evaluator, evaluationState, circuitContext);
        }
コード例 #5
0
ファイル: ForwardAndGate.cs プロジェクト: lumip/CompactMPC
        protected override void ReceiveInputValues <T>(T leftValue, T rightValue, IBatchCircuitEvaluator <T> evaluator, ForwardEvaluationState <T> evaluationState, CircuitContext circuitContext)
        {
            GateEvaluationInput <T> evaluationInput = new GateEvaluationInput <T>(_context, leftValue, rightValue);

            evaluationState.DelayAndGateEvaluation(new GateEvaluation <T>(this, evaluationInput));
        }
コード例 #6
0
        protected override void ReceiveInputValues <T>(T leftValue, T rightValue, IBatchCircuitEvaluator <T> evaluator, ForwardEvaluationState <T> evaluationState, CircuitContext circuitContext)
        {
            T outputValue = evaluator.EvaluateXorGate(leftValue, rightValue, _context, circuitContext);

            SendOutputValue(outputValue, evaluator, evaluationState, circuitContext);
        }
コード例 #7
0
 protected abstract void ReceiveInputValues <T>(T leftValue, T rightValue, IBatchCircuitEvaluator <T> evaluator, ForwardEvaluationState <T> evaluationState, CircuitContext circuitContext);
コード例 #8
0
        public override void ReceiveInputValue <T>(T value, IBatchCircuitEvaluator <T> evaluator, ForwardEvaluationState <T> evaluationState, CircuitContext circuitContext)
        {
            Optional <T> cachedInputValue = evaluationState.ReadInputValueFromCache(this);

            if (cachedInputValue.IsPresent)
            {
                ReceiveInputValues(cachedInputValue.Value, value, evaluator, evaluationState, circuitContext);
            }
            else
            {
                evaluationState.WriteInputValueToCache(this, value);
            }
        }