mirror of
https://github.com/Magnus167/rustframe.git
synced 2025-08-20 04:00:01 +00:00
Update matrix arithmetic operations
This commit is contained in:
parent
b17863dcdc
commit
1dbe5d0efe
21
README.md
21
README.md
@ -76,17 +76,26 @@ let total: f64 = result.sum_vertical().iter().sum::<f64>();
|
|||||||
assert_eq!(total, 184.0);
|
assert_eq!(total, 184.0);
|
||||||
|
|
||||||
// broadcast & reduce
|
// broadcast & reduce
|
||||||
let result: Matrix<f64> = &ma + 1.0; // add scalar
|
let result: Matrix<f64> = ma.clone() + 1.0; // add scalar
|
||||||
let result: Matrix<f64> = &result - 1.0; // subtract scalar
|
let result: Matrix<f64> = result + &ma - &ma; // add matrix
|
||||||
let result: Matrix<f64> = &result * 2.0; // multiply by scalar
|
let result: Matrix<f64> = result - 1.0; // subtract scalar
|
||||||
let result: Matrix<f64> = &result / 2.0; // divide by scalar
|
let result: Matrix<f64> = result * 2.0; // multiply by scalar
|
||||||
|
let result: Matrix<f64> = result / 2.0; // divide by scalar
|
||||||
|
|
||||||
let check: bool = result.eq_elementwise(ma.clone()).all();
|
let check: bool = result.eq_elem(ma.clone()).all();
|
||||||
assert!(check);
|
assert!(check);
|
||||||
|
|
||||||
// The above math can also be written as:
|
// The above math can also be written as:
|
||||||
let check: bool = (&(&(&(&ma + 1.0) - 1.0) * 2.0) / 2.0)
|
let check: bool = (&(&(&(&ma + 1.0) - 1.0) * 2.0) / 2.0)
|
||||||
.eq_elementwise(ma)
|
.eq_elem(ma.clone())
|
||||||
.all();
|
.all();
|
||||||
assert!(check);
|
assert!(check);
|
||||||
|
|
||||||
|
// The above math can also be written as:
|
||||||
|
let check: bool = ((((ma.clone() + 1.0) - 1.0) * 2.0) / 2.0)
|
||||||
|
.eq_elem(ma)
|
||||||
|
.all();
|
||||||
|
assert!(check);
|
||||||
|
|
||||||
|
|
||||||
```
|
```
|
||||||
|
Loading…
x
Reference in New Issue
Block a user