Exemple #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))));
 }
Exemple #3
0
 public CosineOperation(HlslTreeNode value)
 {
     AddInput(value);
 }
 public PowerOperation(HlslTreeNode value, HlslTreeNode power)
 {
     AddInput(value);
     AddInput(power);
 }
 public SubtractOperation(HlslTreeNode minuend, HlslTreeNode subtrahend)
 {
     AddInput(minuend);
     AddInput(subtrahend);
 }
Exemple #6
0
 public MultiplyOperation(HlslTreeNode factor1, HlslTreeNode factor2)
 {
     AddInput(factor1);
     AddInput(factor2);
 }
Exemple #7
0
 public LinearInterpolateOperation(HlslTreeNode amount, HlslTreeNode value1, HlslTreeNode value2)
 {
     AddInput(amount);
     AddInput(value1);
     AddInput(value2);
 }
Exemple #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);
 }
Exemple #11
0
 public override bool Match(HlslTreeNode node)
 {
     return(node is NegateOperation negate && _templateMatcher.IsConstant(negate.Value));
 }
        public HlslTreeNode Reduce(HlslTreeNode node, IGroupContext groupContext)
        {
            var lengthContext = groupContext as LengthContext;

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

            return(new DotProductOperation(dotProductContext.Value1, dotProductContext.Value2));
        }
Exemple #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));
 }
Exemple #23
0
 public SignLessOperation(HlslTreeNode value1, HlslTreeNode value2)
 {
     AddInput(value1);
     AddInput(value2);
 }
 public FractionalOperation(HlslTreeNode value)
 {
     AddInput(value);
 }
Exemple #25
0
 public CompareOperation(HlslTreeNode value, HlslTreeNode lessValue, HlslTreeNode greaterEqualValue)
 {
     AddInput(value);
     AddInput(lessValue);
     AddInput(greaterEqualValue);
 }
Exemple #26
0
 public MaximumOperation(HlslTreeNode value1, HlslTreeNode value2)
 {
     AddInput(value1);
     AddInput(value2);
 }
 public AbsoluteOperation(HlslTreeNode value)
 {
     AddInput(value);
 }
 public MoveOperation(HlslTreeNode value)
 {
     AddInput(value);
 }
Exemple #29
0
 public AddOperation(HlslTreeNode addend1, HlslTreeNode addend2)
 {
     AddInput(addend1);
     AddInput(addend2);
 }
Exemple #30
0
 public SignGreaterOrEqualOperation(HlslTreeNode value1, HlslTreeNode value2)
 {
     AddInput(value1);
     AddInput(value2);
 }