addtition: tryfrom and from

This commit is contained in:
2026-04-27 17:57:32 -06:00
parent 99319f96ee
commit 3ba25372f6

View File

@@ -160,13 +160,16 @@ impl fmt::Display for Fraction {
impl From<i32> for Fraction {
fn from(value: i32) -> Self {
todo!()
Fraction {
num: value.into(),
den: 1,
}
}
}
impl From<i64> for Fraction {
fn from(value: i64) -> Self {
todo!()
Fraction { num: value, den: 1 }
}
}
@@ -174,7 +177,14 @@ impl TryFrom<(i32, i32)> for Fraction {
type Error = FractionError;
fn try_from(value: (i32, i32)) -> Result<Self, Self::Error> {
todo!()
if value.1 == 0 {
return Err(FractionError::ZeroDenominator);
}
Ok(Fraction {
num: value.0.into(),
den: value.1.into(),
})
}
}
@@ -182,7 +192,14 @@ impl TryFrom<(i64, i64)> for Fraction {
type Error = FractionError;
fn try_from(value: (i64, i64)) -> Result<Self, Self::Error> {
todo!()
if value.1 == 0 {
return Err(FractionError::ZeroDenominator);
}
Ok(Fraction {
num: value.0,
den: value.1,
})
}
}