review: change roll result type to i32

This commit is contained in:
2025-11-16 09:52:44 +01:00
parent e12e954d19
commit 4d4810b52b
6 changed files with 11 additions and 11 deletions

View File

@@ -1,8 +1,8 @@
use crate::*; use crate::*;
impl Die { impl Die {
pub fn roll(&self) -> u16 { pub fn roll(&self) -> i32 {
let mut rng = rand::rng(); let mut rng = rand::rng();
rng.random_range(1..=self.sides) as u16 rng.random_range(1..=self.sides) as i32
} }
} }

View File

@@ -2,7 +2,7 @@ use crate::*;
impl Handful { impl Handful {
pub fn roll(self) -> Outcome { pub fn roll(self) -> Outcome {
let mut die_rolls = Vec::<u16>::new(); let mut die_rolls = Vec::<i32>::new();
for die in self.dice { for die in self.dice {
die_rolls.push(die.roll()); die_rolls.push(die.roll());
} }

View File

@@ -1,10 +1,10 @@
use crate::*; use crate::*;
fn max_of(values: Vec<u16>) -> Result<Outcome, FailedTo> { fn max_of(values: Vec<i32>) -> Result<Outcome, FailedTo> {
if values.is_empty() { if values.is_empty() {
return Err(FailedTo::ProcessInput); return Err(FailedTo::ProcessInput);
} }
let ret = Ok(Outcome::Scalar(u16::MIN)); let ret = Ok(Outcome::Scalar(i32::MIN));
ret.and_then(|_| { ret.and_then(|_| {
values values
.iter() .iter()

View File

@@ -1,10 +1,10 @@
use crate::*; use crate::*;
fn min_of(values: Vec<u16>) -> Result<Outcome, FailedTo> { fn min_of(values: Vec<i32>) -> Result<Outcome, FailedTo> {
if values.is_empty() { if values.is_empty() {
return Err(FailedTo::ProcessInput); return Err(FailedTo::ProcessInput);
} }
Ok(Outcome::Scalar(u16::MIN)).and_then(|_| { Ok(Outcome::Scalar(i32::MIN)).and_then(|_| {
values values
.iter() .iter()
.min() .min()

View File

@@ -1,6 +1,6 @@
use crate::*; use crate::*;
fn sum_of(values: Vec<u16>) -> Result<Outcome, FailedTo> { fn sum_of(values: Vec<i32>) -> Result<Outcome, FailedTo> {
if values.is_empty() { if values.is_empty() {
return Ok(Outcome::Scalar(0)); return Ok(Outcome::Scalar(0));
} }
@@ -10,7 +10,7 @@ fn sum_of(values: Vec<u16>) -> Result<Outcome, FailedTo> {
Outcome::List(_) => Err(FailedTo::ProcessInput), Outcome::List(_) => Err(FailedTo::ProcessInput),
Outcome::Scalar(acc) => acc Outcome::Scalar(acc) => acc
.checked_add(value) .checked_add(value)
.map(|new_acc: u16| Outcome::Scalar(new_acc)) .map(|new_acc: i32| Outcome::Scalar(new_acc))
.ok_or(FailedTo::SumValues), .ok_or(FailedTo::SumValues),
}) })
} }

View File

@@ -4,8 +4,8 @@ use std::fmt::Display;
#[derive(Debug, PartialEq, PartialOrd, Eq, Ord, Clone, Hash)] #[derive(Debug, PartialEq, PartialOrd, Eq, Ord, Clone, Hash)]
pub enum E { pub enum E {
Scalar(u16), Scalar(i32),
List(Vec<u16>), List(Vec<i32>),
} }
impl Display for E { impl Display for E {