コード例 #1
0
ファイル: OpId.g.cs プロジェクト: 0xCM/arrows
 public OpId(NumericSystem NumSystem, OpKind OpKind, NumericKind NumKind, Genericity Generic, OpFusion Fusion, string OpTitle)
 {
     this.NumSystem   = NumSystem;
     this.OpKind      = OpKind;
     this.NumKind     = NumKind;
     this.OperandType = PrimalKinds.kind <T>();
     this.Generic     = Generic;
     this.Fusion      = Fusion;
     this.OpTitle     = ifEmpty(OpTitle, OpId.DefineOpTitle(this));
     this.OpUri       = OpId.BuildOpUri(this);
 }
コード例 #2
0
ファイル: TestContext.cs プロジェクト: 0xCM/arrows
        protected void VerifyOp <K>(UnaryOp <K> subject, UnaryOp <K> baseline, bool nonzero = false, [CallerMemberName] string caller = null,
                                    [CallerFilePath] string file = null, [CallerLineNumber] int?line = null)
            where K : struct
        {
            var kind   = PrimalKinds.kind <K>();
            var src    = RandArray <K>(nonzero);
            var timing = stopwatch();

            for (var i = 0; i < src.Length; i++)
            {
                Claim.eq(baseline(src[i]), subject(src[i]), caller, file, line);
            }
        }
コード例 #3
0
ファイル: TestContext.cs プロジェクト: 0xCM/arrows
        protected void VerifyOp <K>(OpKind opKind, BinaryOp <K> baseline, BinaryOp <K> op, bool nonzero = false, [CallerMemberName] string caller = null,
                                    [CallerFilePath] string file = null, [CallerLineNumber] int?line = null)
            where K : struct
        {
            var kind   = PrimalKinds.kind <K>();
            var lhs    = RandArray <K>();
            var rhs    = RandArray <K>(nonzero);
            var len    = length(lhs, rhs);
            var timing = stopwatch();

            for (var i = 0; i < len; i++)
            {
                Claim.numeq(baseline(lhs[i], rhs[i]), op(lhs[i], rhs[i]), caller, file, line);
            }
        }
コード例 #4
0
 public static FileName DataFileName <M, N, T>(string fileId = null)
     where M : ITypeNat, new()
     where N : ITypeNat, new()
     where T : struct
 => FileName.Define($" {fileId ?? "mat"}_{PrimalKinds.kind<T>()}[{nati<M>()}x{nati<N>()}].csv");
コード例 #5
0
ファイル: Metric.x.cs プロジェクト: 0xCM/arrows
 public static MetricComparisonSpec DefineComparison <T>(this MetricKind Baseline, MetricKind Bench, OpKind Operator)
     where T : struct
 => MetricComparisonSpec.Define(Baseline, Bench, PrimalKinds.kind <T>(), Operator);
コード例 #6
0
ファイル: Metric.x.cs プロジェクト: 0xCM/arrows
 public static MetricId Identify <T>(this MetricKind metric, OpKind op)
     where T : struct
 => MetricId.Define(metric, PrimalKinds.kind <T>(), op);
コード例 #7
0
ファイル: OpType.cs プロジェクト: 0xCM/arrows
 public OpType(OpKind op)
 {
     Primitive = PrimalKinds.kind <T>();
     this.Op   = op;
 }
コード例 #8
0
 public static MetricComparisonSpec Define <T>(MetricKind Baseline, MetricKind Bench, PrimalKind Primitive, OpKind Operator)
     where T : struct
 => new MetricComparisonSpec(Baseline, Bench, PrimalKinds.kind <T>(), Operator);