/// <summary> /// Register a pending conversion operation on the underlying array /// </summary> /// <param name="operation">The operation performed</param> /// <param name="output">The output operand</param> /// <param name="in1">An input operand</param> /// <param name="in2">An input operand</param> public virtual void AddConversionOperation <Ta>(IBinaryConvOp <Ta, T> operation, NdArray <T> output, NdArray <Ta> in1, NdArray <Ta> in2) { m_clock = LazyAccessorCollector.AddOperation(new PendingBinaryConversionOperation <T, Ta>(operation, output, in1, in2)); }
/// <summary> /// Function that builds a serialized list of operations to execute to obtain the target output /// </summary> /// <param name="maxclock">The maximum clock to extract</param> /// <returns>A list of operations to perform</returns> public virtual IList <IPendingOperation> UnrollWorkList(long maxclock) { return(LazyAccessorCollector.ExtractUntilClock(maxclock)); }
/// <summary> /// Register a pending operation on the underlying array /// </summary> /// <param name="operation">The operation performed</param> /// <param name="operands">The operands involved, operand 0 is the target</param> public virtual void AddOperation(IOp <T> operation, params NdArray <T>[] operands) { m_clock = LazyAccessorCollector.AddOperation(new PendingOperation <T>(operation, operands)); }