public FrontendRelease(IFrontend frontend, SemanticVersion version) { #region Preconditions if (frontend == null) throw new ArgumentNullException(nameof(frontend)); #endregion FrontendId = frontend.Id; FrontendName = frontend.Name; Version = version; }
public (DataAndLayout <T1>, DataAndLayout <T2>) GetDataAndLayout <T1, T2>(IFrontend <T1> trgt, IFrontend <T2> src) { return(((NdArray <T1>)trgt).Backend.DataAndLayout, ((NdArray <T2>)src).Backend.DataAndLayout); }
public void Truncate(IFrontend <T> trgt, IFrontend <T> src) { var(dataLayoutTrgt, dataLayout) = ElemwiseDataAndLayout(trgt, src); ScalarOps.Truncate(dataLayoutTrgt, dataLayout); }
public void Sinh(IFrontend <T> trgt, IFrontend <T> src) { var(dataLayoutTrgt, dataLayout) = ElemwiseDataAndLayout(trgt, src); ScalarOps.Sinh(dataLayoutTrgt, dataLayout); }
public void Pow(IFrontend <T> trgt, IFrontend <T> lhs, IFrontend <T> rhs) { var(dataLayoutTrgt, dataLayout1, dataLayout2) = ElemwiseDataAndLayout <T, T, T>(trgt, lhs, rhs); ScalarOps.Pow(dataLayoutTrgt, dataLayout1, dataLayout2); }
public static void Setup(IFrontend frontend) { _frontend = frontend; }
public void Xor(IFrontend <bool> trgt, IFrontend <bool> lhs, IFrontend <bool> rhs) { var(dataLayoutTrgt, dataLayout1, dataLayout2) = ElemwiseDataAndLayout(trgt, lhs, rhs); ScalarOps.Xor(dataLayoutTrgt, dataLayout1, dataLayout2); }
public void ProductLastAxis(IFrontend <T> trgt, IFrontend <T> src) { var(dataLayoutTrgt, dataLayout) = GetDataAndLayout(trgt, src); ScalarOps.ProductLastAxis(dataLayoutTrgt, dataLayout); }
public void UnaryMinus(IFrontend <T> trgt, IFrontend <T> src) { var(t, s) = ElemwiseDataAndLayout(trgt, src); ScalarOps.UnaryMinus(t, s); }
public void FillIncrementing(T start, T step, IFrontend <T> trgt) { var dataAndLayout = ElemwiseDataAndLayout(trgt); ScalarOps.FillIncrementing(start, step, dataAndLayout); }
public static (DataAndLayout <TR>, DataAndLayout <TA>, DataAndLayout <TB>, DataAndLayout <TC>) ElemwiseDataAndLayout <TR, TA, TB, TC>(IFrontend <TR> trgt, IFrontend <TA> a, IFrontend <TB> b, IFrontend <TC> c) { var(tl, ls) = ElemwiseLayouts(trgt.Layout, new Layout[] { a.Layout, b.Layout, c.Layout }); return(trgt.Relayout(tl).Backend.DataAndLayout, a.Relayout(ls[0]).Backend.DataAndLayout, b.Relayout(ls[1]).Backend.DataAndLayout, c.Relayout(ls[2]).Backend.DataAndLayout); }
public static (DataAndLayout <T1>, DataAndLayout <T2>) ElemwiseDataAndLayout <T1, T2>(IFrontend <T1> trgt, IFrontend <T2> src) { var(tl, ls) = ElemwiseLayouts(trgt.Layout, new Layout[] { src.Layout }); return(trgt.Relayout(tl).Backend.DataAndLayout, src.Relayout(ls[0]).Backend.DataAndLayout); }
/// <summary> /// 添加玩家 /// </summary> /// <param name="frontend">实现接口的前端对象,Game会通过这个对象与前端进行沟通。</param> /// <param name="deck">玩家使用的卡组,数组的第一个整数代表玩家使用的角色卡,后30个是玩家使用的卡组。</param> public void addPlayer(IFrontend frontend, int[] deck) { throw new NotImplementedException(); }
/// <summary> /// DeAssembly constructor. Setup Frontend and Backend. /// </summary> public DeAssembly() { activeFrontend = new FrontendMIPS(); activeBackend = new BackendC(); }
public void AnyLastAxis(IFrontend <bool> trgt, IFrontend <bool> src) { var(dataLayoutTrgt, dataLayout) = GetDataAndLayout(trgt, src); ScalarOps.AnyLastAxis(dataLayoutTrgt, dataLayout); }
public void IsFinite <TP>(IFrontend <bool> trgt, IFrontend <TP> src) { var(dataLayoutTrgt, dataLayout) = ElemwiseDataAndLayout(trgt, src); ScalarOps.IsFinite <TP>(dataLayoutTrgt, dataLayout); }
public void Less <TP>(IFrontend <bool> trgt, IFrontend <TP> src1, IFrontend <TP> src2) { var(dataLayoutTrgt, dataLayout1, dataLayout2) = ElemwiseDataAndLayout(trgt, src1, src2); ScalarOps.Less(dataLayoutTrgt, dataLayout1, dataLayout2); }
public void Negate(IFrontend <bool> trgt, IFrontend <bool> src) { var(dataLayoutTrgt, dataLayout) = GetDataAndLayout(trgt, src); ScalarOps.Negate(dataLayoutTrgt, dataLayout); }
public void GreaterOrEqual <TP>(IFrontend <bool> trgt, IFrontend <TP> src1, IFrontend <TP> src2) { var(dataLayoutTrgt, dataLayout1, dataLayout2) = ElemwiseDataAndLayout(trgt, src1, src2); ScalarOps.GreaterOrEqual(dataLayoutTrgt, dataLayout1, dataLayout2); }
public void CountTrueLastAxis(IFrontend <int> trgt, IFrontend <bool> src) { var(dataLayoutTrgt, dataLayout) = GetDataAndLayout(trgt, src); ScalarOps.CountTrueLastAxis(dataLayoutTrgt, dataLayout); }
public void Modulo(IFrontend <T> trgt, IFrontend <T> a, IFrontend <T> b) { var(dataLayoutTrgt, dataLayoutA, dataLayoutB) = ElemwiseDataAndLayout <T, T, T>(trgt, a, b); ScalarOps.Modulo(dataLayoutTrgt, dataLayoutA, dataLayoutB); }