alloy-rs / alloy-rs/ruint

`algorithms/gcd/matrix`: Is it safe to do this based on just the u128 prefix?

Ouverte
#122 0 commentaires 0 réactions 1 personne assignée Réclamée par @recmo Voir sur GitHub
to do tracker
Langage dominant
Rust
Étoiles
225
Forks
70
Merge moyen
16 h 54 min
PR mergées (30 j)
8

Description

*On 2022-06-06 @recmo wrote in [`4c74c09`](https://github.com/recmo/uint/commit/4c74c09b4d6f425cda931e9f5e8d00f1367c4261) “Merge pull request #110 from recmo/gcd”:*

Is it safe to do this based on just the u128 prefix?
let (r0, r1) = q.apply_u128(r0, r1);
let s = r0.leading_zeros();
let r0s = r0 << s;
let r1s = r1 << s;
let qn = Self::from_u64_prefix((r0s >> 64) as u64, (r1s >> 64) as
u64);

```rust
// We can return q here and have a perfectly valid single-word Lehmer GCD.
q
// OPT: Fix the below method to get double-word Lehmer GCD.

// Recompute r0 and r1 and take the high bits.
// TODO: Is it safe to do this based on just the u128 prefix?
// let (r0, r1) = q.apply_u128(r0, r1);
// let s = r0.leading_zeros();
// let r0s = r0 << s;
// let r1s = r1 << s;
// let qn = Self::from_u64_prefix((r0s >> 64) as u64, (r1s >> 64) as
// u64);

// // Multiply matrices qn * q
// qn.compose(q)
}
}

```
*From [`src/algorithms/gcd/matrix.rs:315`](https://github.com/recmo/uint/blob/4c74c09b4d6f425cda931e9f5e8d00f1367c4261/src/algorithms/gcd/matrix.rs#L315)*

Guide de contribution

Aucun guide de contribution indexé pour ce dépôt

Évaluation

Cette issue n'a pas encore été évaluée.

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.