예제 #1
0
 public MetricComparisonSpec(MetricKind Baseline, MetricKind Bench, PrimalKind Primitive, OpKind Operator)
 {
     this.BaseKind  = Baseline;
     this.BenchKind = Bench;
     this.Primitive = Primitive;
     this.Operator  = Operator;
 }
예제 #2
0
 public static OpId OpId(this OpKind op,
                         NumericSystem system,
                         PrimalKind prim,
                         NumericKind numKind = NumericKind.Native,
                         Genericity generic  = Genericity.Direct,
                         OpFusion fusion     = OpFusion.Atomic,
                         string title        = null)
 => new OpId(system, op, prim, numKind, generic, fusion, title);
예제 #3
0
 public OpId(NumericSystem NumSystem, OpKind OpKind, PrimalKind OperandKind, NumericKind NumKind, Genericity Generic, OpFusion Fusion, string OpTitle)
 {
     this.NumSystem   = NumSystem;
     this.OpKind      = OpKind;
     this.OperandType = OperandKind;
     this.NumKind     = NumKind;
     this.Generic     = Generic;
     this.Fusion      = Fusion;
     this.OpTitle     = ifEmpty(OpTitle, OpId.DefineOpTitle(this));
     this.OpUri       = BuildOpUri(this);
 }
예제 #4
0
파일: MetricSpec.cs 프로젝트: 0xCM/arrows
 public MetricSpec(OpKind OpKind, NumericSystem NumSystem, NumericKind NumKind, PrimalKind OperandType,
                   OpVariance Variance, ByteSize OperandSize)
 {
     this.OpKind      = OpKind;
     this.NumSystem   = NumSystem;
     this.NumKind     = NumKind;
     this.OperandType = OperandType;
     this.Variance    = Variance;
     this.OperandSize = OperandSize;
 }
예제 #5
0
파일: MetricSpec.cs 프로젝트: 0xCM/arrows
 public static MetricSpec Define(OpKind OpKind, NumericSystem NumSystem, NumericKind NumKind,
                                 PrimalKind OperandType, OpVariance Variance, ByteSize OperandSize)
 => new MetricSpec(OpKind, NumSystem, NumKind, OperandType, Variance, OperandSize);
예제 #6
0
파일: Metric.x.cs 프로젝트: 0xCM/arrows
 public static MetricComparisonSpec DefineComparison(this MetricKind Baseline, MetricKind Bench, PrimalKind Primitive, OpKind Operator)
 => MetricComparisonSpec.Define(Baseline, Bench, Primitive, Operator);
예제 #7
0
파일: Metric.x.cs 프로젝트: 0xCM/arrows
 public static void Deconstruct(this MetricId metric, out MetricKind Classifier, out PrimalKind Primitive, out OpKind Operator)
 {
     Classifier = metric.Classifier;
     Primitive  = metric.Primitive;
     Operator   = metric.Operator;
 }
예제 #8
0
파일: Metric.x.cs 프로젝트: 0xCM/arrows
 public static MetricId Identify(this MetricKind metric, PrimalKind primitive, OpKind op)
 => MetricId.Define(metric, primitive, op);
예제 #9
0
파일: OpSig.cs 프로젝트: 0xCM/arrows
 public ParamSig(int Position, PrimalKind DataType, ParamVariance Variance)
 {
     this.Position  = Position;
     this.Primitive = DataType;
     this.Variance  = Variance;
 }
예제 #10
0
파일: OpSig.cs 프로젝트: 0xCM/arrows
 public static ParamSig Create(int pos, PrimalKind dataType, ParamVariance?variance = null)
 => new ParamSig(pos, dataType, variance ?? ParamVariance.Value);
예제 #11
0
 public static MetricId Define(MetricKind Classifier, PrimalKind Primitive, OpKind Operator)
 => new MetricId(Classifier, Primitive, Operator);
예제 #12
0
 public static MetricComparisonSpec Define(MetricKind Baseline, MetricKind Bench, PrimalKind Primitive, OpKind Operator)
 => new MetricComparisonSpec(Baseline, Bench, Primitive, Operator);
예제 #13
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);
예제 #14
0
 public static OpType WithType(this OpKind src, PrimalKind prim)
 => OpType.Define(src, prim);