public OpSignature(ValueType @return, CustomOps opType, params ValueType[] @params)
 {
     Params   = @params;
     Return   = @return;
     CustomOp = opType;
     MathOp   = MathOps.None;
     OpType   = opType.ToString();
     StableId = MathCodeGeneration.GenerateStableValueForCustomOp(opType, @return, @params);
 }
 public static OpSignature LinearBinOp(CustomOps opType, ValueType valueType)
 {
     return(new OpSignature(valueType, opType, valueType, valueType));
 }
 public OpSignature(ValueType @return, CustomOps opType, params ValueType[] @params)
     : this(@return, opType.ToString(), @params)
 {
 }