Ejemplo n.º 1
0
 public ReciprocalOperation(HlslTreeNode value)
 {
     AddInput(value);
 }
 public override bool Match(HlslTreeNode node)
 {
     return(node is SubtractOperation subtract &&
            ((_templateMatcher.IsZero(subtract.Minuend) && !_templateMatcher.IsZero(subtract.Subtrahend)) ||
             (!_templateMatcher.IsZero(subtract.Minuend) && _templateMatcher.IsZero(subtract.Subtrahend))));
 }
Ejemplo n.º 3
0
 public CosineOperation(HlslTreeNode value)
 {
     AddInput(value);
 }
Ejemplo n.º 4
0
 public PowerOperation(HlslTreeNode value, HlslTreeNode power)
 {
     AddInput(value);
     AddInput(power);
 }
Ejemplo n.º 5
0
 public SubtractOperation(HlslTreeNode minuend, HlslTreeNode subtrahend)
 {
     AddInput(minuend);
     AddInput(subtrahend);
 }
Ejemplo n.º 6
0
 public MultiplyOperation(HlslTreeNode factor1, HlslTreeNode factor2)
 {
     AddInput(factor1);
     AddInput(factor2);
 }
Ejemplo n.º 7
0
 public LinearInterpolateOperation(HlslTreeNode amount, HlslTreeNode value1, HlslTreeNode value2)
 {
     AddInput(amount);
     AddInput(value1);
     AddInput(value2);
 }
Ejemplo n.º 8
0
 public override bool Match(HlslTreeNode node)
 {
     return(node is AddOperation add && add.Addend1 == add.Addend2);
 }
 public override bool Match(HlslTreeNode node)
 {
     return(node is NegateOperation negate && negate.Value is NegateOperation);
 }
 public override bool Match(HlslTreeNode node)
 {
     return(node is SubtractOperation subtract && subtract.Subtrahend is NegateOperation);
 }
Ejemplo n.º 11
0
 public override bool Match(HlslTreeNode node)
 {
     return(node is NegateOperation negate && _templateMatcher.IsConstant(negate.Value));
 }
Ejemplo n.º 12
0
        public HlslTreeNode Reduce(HlslTreeNode node, IGroupContext groupContext)
        {
            var lengthContext = groupContext as LengthContext;

            return(new LengthOperation(lengthContext.Value));
        }
Ejemplo n.º 13
0
 public virtual bool Match(HlslTreeNode node)
 {
     return(node is T);
 }
Ejemplo n.º 14
0
 public HlslTreeNode Reduce(HlslTreeNode node)
 {
     return(Reduce(node as T));
 }
Ejemplo n.º 15
0
 public DivisionOperation(HlslTreeNode dividend, HlslTreeNode divisor)
 {
     AddInput(dividend);
     AddInput(divisor);
 }
Ejemplo n.º 16
0
 public NegateOperation(HlslTreeNode value)
 {
     AddInput(value);
 }
Ejemplo n.º 17
0
 public ReciprocalSquareRootOperation(HlslTreeNode value)
 {
     AddInput(value);
 }
Ejemplo n.º 18
0
 public override bool Match(HlslTreeNode node)
 {
     return(node is MultiplyOperation multiply &&
            (_templateMatcher.IsOne(multiply.Factor1) || _templateMatcher.IsOne(multiply.Factor2)));
 }
Ejemplo n.º 19
0
 public MultiplyAddOperation(HlslTreeNode factor1, HlslTreeNode factor2, HlslTreeNode addend)
 {
     AddInput(factor1);
     AddInput(factor2);
     AddInput(addend);
 }
Ejemplo n.º 20
0
        public HlslTreeNode Reduce(HlslTreeNode node, IGroupContext groupContext)
        {
            var dotProductContext = groupContext as DotProductContext;

            return(new DotProductOperation(dotProductContext.Value1, dotProductContext.Value2));
        }
Ejemplo n.º 21
0
 public IGroupContext Match(HlslTreeNode node)
 {
     return(MatchDotProduct3(node));
 }
 public override bool Match(HlslTreeNode node)
 {
     return(node is MultiplyOperation multiply &&
            _templateMatcher.IsConstant(multiply.Factor1) &&
            _templateMatcher.IsConstant(multiply.Factor2));
 }
Ejemplo n.º 23
0
 public SignLessOperation(HlslTreeNode value1, HlslTreeNode value2)
 {
     AddInput(value1);
     AddInput(value2);
 }
Ejemplo n.º 24
0
 public FractionalOperation(HlslTreeNode value)
 {
     AddInput(value);
 }
Ejemplo n.º 25
0
 public CompareOperation(HlslTreeNode value, HlslTreeNode lessValue, HlslTreeNode greaterEqualValue)
 {
     AddInput(value);
     AddInput(lessValue);
     AddInput(greaterEqualValue);
 }
Ejemplo n.º 26
0
 public MaximumOperation(HlslTreeNode value1, HlslTreeNode value2)
 {
     AddInput(value1);
     AddInput(value2);
 }
Ejemplo n.º 27
0
 public AbsoluteOperation(HlslTreeNode value)
 {
     AddInput(value);
 }
Ejemplo n.º 28
0
 public MoveOperation(HlslTreeNode value)
 {
     AddInput(value);
 }
Ejemplo n.º 29
0
 public AddOperation(HlslTreeNode addend1, HlslTreeNode addend2)
 {
     AddInput(addend1);
     AddInput(addend2);
 }
Ejemplo n.º 30
0
 public SignGreaterOrEqualOperation(HlslTreeNode value1, HlslTreeNode value2)
 {
     AddInput(value1);
     AddInput(value2);
 }