public NumericInfo(int size, NumericKind kind, object minValue, object maxValue)
 {
     Size     = size;
     Kind     = kind;
     MinValue = minValue;
     MaxValue = maxValue;
 }
Exemplo n.º 2
0
Arquivo: OpSig.cs Projeto: 0xCM/arrows
        public BinaryOpSig(NumericKind NumKind, OpKind Op, ParamSig Lhs, ParamSig Rhs, ParamSig Return)
            : base(NumKind, Op, Return)

        {
            this.Lhs = Lhs;
            this.Rhs = Rhs;
        }
Exemplo n.º 3
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);
Exemplo n.º 4
0
 public static OpId <T> OpId <T>(this OpKind op,
                                 NumericSystem system,
                                 NumericKind numKind = NumericKind.Native,
                                 Genericity generic  = Genericity.Direct,
                                 OpFusion fusion     = OpFusion.Atomic,
                                 string title        = null)
     where T : struct
 => new OpId <T>(system, op, numKind, generic, fusion, title);
Exemplo n.º 5
0
 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;
 }
Exemplo n.º 6
0
 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);
 }
Exemplo n.º 7
0
 public static MetricSpec <T> Define <T>(OpKind OpKind, NumericSystem NumSystem, NumericKind NumKind,
                                         OpVariance Variance, ByteSize OperandSize)
     where T : struct
 => new MetricSpec <T>(OpKind, NumSystem, NumKind, Variance, OperandSize);
Exemplo n.º 8
0
 public static MetricSpec Define(OpKind OpKind, NumericSystem NumSystem, NumericKind NumKind,
                                 PrimalKind OperandType, OpVariance Variance, ByteSize OperandSize)
 => new MetricSpec(OpKind, NumSystem, NumKind, OperandType, Variance, OperandSize);
Exemplo n.º 9
0
Arquivo: OpSig.cs Projeto: 0xCM/arrows
 public UnaryOpSig(NumericKind NumKind, OpKind Op, ParamSig Operand, ParamSig Return)
     : base(NumKind, Op, Return)
 {
     this.Operand = Operand;
 }
Exemplo n.º 10
0
Arquivo: OpSig.cs Projeto: 0xCM/arrows
 public OpSig(NumericKind NumKind, OpKind Op, ParamSig Return)
 {
     this.NumKind = NumKind;
     this.Op      = Op;
     this.Return  = Return;
 }
Exemplo n.º 11
0
Arquivo: OpSig.cs Projeto: 0xCM/arrows
 public static IOpSig Define(NumericKind numKind, OpKind op, ParamSig lhs, ParamSig rhs, ParamSig ret)
 => new BinaryOpSig(numKind, op, lhs, rhs, ret);
Exemplo n.º 12
0
Arquivo: OpSig.cs Projeto: 0xCM/arrows
 public static IOpSig Define(NumericKind numKind, OpKind op, ParamSig operand, ParamSig ret)
 => new UnaryOpSig(numKind, op, operand, ret);
Exemplo n.º 13
0
 public static bool IsIntrinsic(this NumericKind kind)
 => (byte)kind >= (byte)NumericKind.Num128;
Exemplo n.º 14
0
 /// <summary>
 /// Returns the identified primal generic operator
 /// </summary>
 public static OpId <T> PrimalGOpId <T>(this OpKind kind, NumericKind numKind = NumericKind.Native)
     where T : struct
 => kind.OpId <T>(NumericSystem.Primal, generic : Genericity.Generic);