Start working on switching to language-rust as a generator, for fun.

This commit is contained in:
2019-10-22 20:12:08 -07:00
parent d7665acf64
commit 2400b10fbc
9 changed files with 723 additions and 404 deletions

View File

@@ -4,6 +4,8 @@ pub mod unsigned;
#[cfg(test)]
mod testing;
use core::num::TryFromIntError;
/// A trait definition for large numbers.
pub trait CryptoNum {
/// Generate a new value of the given type.
@@ -36,3 +38,14 @@ pub trait CryptoNum {
fn to_bytes(&self, bytes: &mut [u8]);
}
/// An error in conversion of large numbers (either to primitives or to other numbers
pub enum ConversionError {
NegativeToUnsigned,
Overflow
}
impl From<TryFromIntError> for ConversionError {
fn from(_: TryFromIntError) -> ConversionError {
ConversionError::Overflow
}
}