#![no_std]
extern crate byte_tools;
extern crate digest;
extern crate block_buffer;
extern crate generic_array;
pub use digest::Digest;
use generic_array::GenericArray;
use generic_array::typenum::{Unsigned, U28, U32, U48, U64, U128};
mod consts;
mod groestl;
mod state;
mod matrix;
#[macro_use]
mod macros;
use groestl::Groestl;
impl_groestl!(Groestl512, U64, U128);
impl_groestl!(Groestl384, U48, U128);
impl_groestl!(Groestl256, U32, U64);
impl_groestl!(Groestl224, U28, U64);
impl_variable_groestl!(GroestlBig, U128, 32, 64);
impl_variable_groestl!(GroestlSmall, U64, 0, 32);