-
I want to define multiple dispatching for a function `f(x, y)` that I know should always be commutative (`f(x, y) == f(y, x)`). Does multipledispatch support this? Basically, I only want to define `f(…
-
You can set input edges for commutative arithmetic operators as unordered from later on.
thus increasing the opportunity of common subexpression elimination.
-
Quaternions are non-commutative, so some equivalences e.g. `(a * b) (b * a)` are not sound.
-
-
I'm thinking how to express a commutative monoid using this framework.
For a monoid, I can do this:
``` julia
@traitdef Monoid{X} begin
mempty( ::X ) -> X
mappend( X, X ) -> X
end
immutable…
-
The background is #15447 fixed #14608 by raising exception when collecting a non-commutative symbol. This is also related to an old open issue #3741 .
Simply rejecting all `collect` call that inclu…
-
For example:
- when one of the operations in the reduction is not a tensor element, but the operation is commutative so it can be moved to the end.
-
## Compiler version
3.4.0-RC1
## Minimized code
```scala
sealed trait Tagged[T]
sealed trait Row[A]
def run[R, A](tagged: Tagged[R & Row[A]], a: A): Tagged[R] = new Tagged[R] {}
/*
o…
-
The general ordering of operators for scan/segscan in modern gpu is reversed in this single call. FWIW, this will not show up as an error for commutative operators such as addition.
https://github…
-
We're missing a very useful form of reduction algorithm:
![image](https://user-images.githubusercontent.com/398194/118079414-07498d00-b36d-11eb-82f2-3c2bba6ed60a.png)