public Task <T> EvaluateNotGate(Task <T> value, GateContext gateContext, CircuitContext circuitContext) { return(value.ContinueWith(task => _innerEvaluator.EvaluateNotGate(task.Result, gateContext, circuitContext))); }
public Task <T> EvaluateXorGate(Task <T> leftValue, Task <T> rightValue, GateContext gateContext, CircuitContext circuitContext) { return(Task.WhenAll(leftValue, rightValue).ContinueWith( task => _innerEvaluator.EvaluateXorGate(task.Result[0], task.Result[1], gateContext, circuitContext) )); }
public Bit EvaluateNotGate(Bit value, GateContext gateContext, CircuitContext circuitContext) { return(~value); }
public Gate(GateContext context) { _context = context; }
public Bit EvaluateXorGate(Bit leftValue, Bit rightValue, GateContext gateContext, CircuitContext circuitContext) { return(leftValue ^ rightValue); }