early return

This commit is contained in:
Jennifer Chukwu 2024-04-22 12:36:35 +00:00
parent d331bbd7c1
commit a0da49fb83
1 changed files with 39 additions and 61 deletions

View File

@ -145,50 +145,43 @@ where
{
let m = m.as_slice();
let det = m[0].clone()
* (m[5].clone() * m[10].clone() * m[15].clone()
+ m[6].clone() * m[11].clone() * m[13].clone()
+ m[7].clone() * m[9].clone() * m[14].clone()
- m[7].clone() * m[10].clone() * m[13].clone()
- m[6].clone() * m[9].clone() * m[15].clone()
- m[5].clone() * m[11].clone() * m[14].clone())
- m[1].clone()
* (m[4].clone() * m[10].clone() * m[15].clone()
+ m[6].clone() * m[11].clone() * m[12].clone()
+ m[7].clone() * m[8].clone() * m[14].clone()
- m[7].clone() * m[10].clone() * m[12].clone()
- m[6].clone() * m[8].clone() * m[15].clone()
- m[4].clone() * m[11].clone() * m[14].clone())
+ m[2].clone()
* (m[4].clone() * m[9].clone() * m[15].clone()
+ m[5].clone() * m[11].clone() * m[12].clone()
+ m[7].clone() * m[8].clone() * m[13].clone()
- m[7].clone() * m[9].clone() * m[12].clone()
- m[5].clone() * m[8].clone() * m[15].clone()
- m[4].clone() * m[11].clone() * m[13].clone())
- m[3].clone()
* (m[4].clone() * m[9].clone() * m[14].clone()
+ m[5].clone() * m[10].clone() * m[12].clone()
+ m[6].clone() * m[8].clone() * m[13].clone()
- m[6].clone() * m[9].clone() * m[12].clone()
- m[5].clone() * m[8].clone() * m[14].clone()
- m[4].clone() * m[10].clone() * m[13].clone());
if det.is_zero() {
false
} else {
out[(0, 0)] = m[5].clone() * m[10].clone() * m[15].clone()
- m[5].clone() * m[11].clone() * m[14].clone()
- m[9].clone() * m[6].clone() * m[15].clone()
+ m[9].clone() * m[7].clone() * m[14].clone()
+ m[13].clone() * m[6].clone() * m[11].clone()
- m[13].clone() * m[7].clone() * m[10].clone();
let cofactor00 = m[5].clone() * m[10].clone() * m[15].clone()
- m[5].clone() * m[11].clone() * m[14].clone()
- m[9].clone() * m[6].clone() * m[15].clone()
+ m[9].clone() * m[7].clone() * m[14].clone()
+ m[13].clone() * m[6].clone() * m[11].clone()
- m[13].clone() * m[7].clone() * m[10].clone();
out[(1, 0)] = -m[1].clone() * m[10].clone() * m[15].clone()
+ m[1].clone() * m[11].clone() * m[14].clone()
+ m[9].clone() * m[2].clone() * m[15].clone()
- m[9].clone() * m[3].clone() * m[14].clone()
- m[13].clone() * m[2].clone() * m[11].clone()
+ m[13].clone() * m[3].clone() * m[10].clone();
let cofactor01 = -m[4].clone() * m[10].clone() * m[15].clone()
+ m[4].clone() * m[11].clone() * m[14].clone()
+ m[8].clone() * m[6].clone() * m[15].clone()
- m[8].clone() * m[7].clone() * m[14].clone()
- m[12].clone() * m[6].clone() * m[11].clone()
+ m[12].clone() * m[7].clone() * m[10].clone();
let cofactor02 = m[4].clone() * m[9].clone() * m[15].clone()
- m[4].clone() * m[11].clone() * m[13].clone()
- m[8].clone() * m[5].clone() * m[15].clone()
+ m[8].clone() * m[7].clone() * m[13].clone()
+ m[12].clone() * m[5].clone() * m[11].clone()
- m[12].clone() * m[7].clone() * m[9].clone();
let cofactor03 = -m[4].clone() * m[9].clone() * m[14].clone()
+ m[4].clone() * m[10].clone() * m[13].clone()
+ m[8].clone() * m[5].clone() * m[14].clone()
- m[8].clone() * m[6].clone() * m[13].clone()
- m[12].clone() * m[5].clone() * m[10].clone()
+ m[12].clone() * m[6].clone() * m[9].clone();
let det = m[0].clone() * cofactor00.clone()
+ m[1].clone() * cofactor01.clone()
+ m[2].clone() * cofactor02.clone()
+ m[3].clone() * cofactor03.clone();
if det.is_zero() {
return false;
} else {
out[(0, 0)] = cofactor00;
out[(2, 0)] = m[1].clone() * m[6].clone() * m[15].clone()
- m[1].clone() * m[7].clone() * m[14].clone()
@ -204,12 +197,7 @@ where
- m[9].clone() * m[2].clone() * m[7].clone()
+ m[9].clone() * m[3].clone() * m[6].clone();
out[(0, 1)] = -m[4].clone() * m[10].clone() * m[15].clone()
+ m[4].clone() * m[11].clone() * m[14].clone()
+ m[8].clone() * m[6].clone() * m[15].clone()
- m[8].clone() * m[7].clone() * m[14].clone()
- m[12].clone() * m[6].clone() * m[11].clone()
+ m[12].clone() * m[7].clone() * m[10].clone();
out[(0, 1)] = cofactor01;
out[(1, 1)] = m[0].clone() * m[10].clone() * m[15].clone()
- m[0].clone() * m[11].clone() * m[14].clone()
@ -232,12 +220,7 @@ where
+ m[8].clone() * m[2].clone() * m[7].clone()
- m[8].clone() * m[3].clone() * m[6].clone();
out[(0, 2)] = m[4].clone() * m[9].clone() * m[15].clone()
- m[4].clone() * m[11].clone() * m[13].clone()
- m[8].clone() * m[5].clone() * m[15].clone()
+ m[8].clone() * m[7].clone() * m[13].clone()
+ m[12].clone() * m[5].clone() * m[11].clone()
- m[12].clone() * m[7].clone() * m[9].clone();
out[(0, 2)] = cofactor02;
out[(1, 2)] = -m[0].clone() * m[9].clone() * m[15].clone()
+ m[0].clone() * m[11].clone() * m[13].clone()
@ -253,12 +236,7 @@ where
+ m[12].clone() * m[1].clone() * m[7].clone()
- m[12].clone() * m[3].clone() * m[5].clone();
out[(0, 3)] = -m[4].clone() * m[9].clone() * m[14].clone()
+ m[4].clone() * m[10].clone() * m[13].clone()
+ m[8].clone() * m[5].clone() * m[14].clone()
- m[8].clone() * m[6].clone() * m[13].clone()
- m[12].clone() * m[5].clone() * m[10].clone()
+ m[12].clone() * m[6].clone() * m[9].clone();
out[(0, 3)] = cofactor03;
out[(3, 2)] = -m[0].clone() * m[5].clone() * m[11].clone()
+ m[0].clone() * m[7].clone() * m[9].clone()