You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I did a quick scan of the issues and didn't see this. For an array: Array<Complex<f64>> (for example), i think it's perfectly reasonable to expect
let output:Array<Complex<f64>> = 2.0_f64* array;
to work. I've only ever gotten a rhs mul e.g. array * 2.0 to work. (see example, non-working example). Is there a reason this hasn't been done, e.g. orphan rules?
Just for baseline/background. I don't know if this is a good idea, don't know if there are any drawbacks. Since complex implements mixed float-complex operations, we have the necessary precedent to consider it.
I believe this would be closed by #782? The next-gen compiler will enable that PR and seems to be close to stabilization, as it is a Rust goal for 2024.
Activity
cavemanloverboy commentedon Jan 19, 2023
I think it should be possible, actually, here's an example
cavemanloverboy commentedon Jan 19, 2023
The implementation can also be done for
Complex<f32>andComplex<f64>forArray<Complex<f32>>andArray<Complex<f64>>[-]impl Mul<Array<T>> for T[/-][+]impl Mul<Array<Complex<T>>> for T[/+]cavemanloverboy commentedon Jan 20, 2023
Also, doing this for
Divwill allow for things like1.0 / arrayfor a complex array.bluss commentedon Jan 21, 2023
Please see this for doc on scalars on the left hand side: https://docs.rs/ndarray/latest/ndarray/trait.ScalarOperand.html
Just for baseline/background. I don't know if this is a good idea, don't know if there are any drawbacks. Since complex implements mixed float-complex operations, we have the necessary precedent to consider it.
akern40 commentedon Dec 23, 2024
I believe this would be closed by #782? The next-gen compiler will enable that PR and seems to be close to stabilization, as it is a Rust goal for 2024.