A small random number generator hacked on top of Rust's standard library. An exercise in pointlessness.

Overview

attorand

from 'atto', meaning smaller than small, and 'rand', short for random.

A small random number generator hacked on top of Rust's standard library.

Origins

Rust, as you may well know, has support for HashMaps. These maps, as per their name, require hashing. Hashing, of course, takes some data, and produces a random representation of that data. Where we hash, random numbers follow!

Why attorand?

Other crates, like rand, can be hard to use cross-platform, Because they rely on the system's source of randomness. attorand, however, does not have this limitation, and provides a firehose of random bytes to drink from.

How does it work?

Internally, attorand works by repeatedly hashing a seed, using the output of the last round as the input to the next. The algorithm used is SipHash 1-3, as per Rust's standard library docs, but note that this is "subject to change at any point in the future".

Addendum

Please don't use this for anything that needs cryptographic randomness. (You knew that.)

I hold no further responsibility for this abomination.

LICENSE

MIT.

You might also like...
Natural language detection library for Rust. Try demo online: https://www.greyblake.com/whatlang/
Natural language detection library for Rust. Try demo online: https://www.greyblake.com/whatlang/

Whatlang Natural language detection for Rust with focus on simplicity and performance. Content Features Get started Documentation Supported languages

A Rust library for generically joining iterables with a separator

joinery A Rust library for generically joining iterables with a separator. Provides the tragically missing string join functionality to rust. extern c

👄 The most accurate natural language detection library in the Rust ecosystem, suitable for long and short text alike
👄 The most accurate natural language detection library in the Rust ecosystem, suitable for long and short text alike

Table of Contents What does this library do? Why does this library exist? Which languages are supported? How good is it? Why is it better than other l

A morphological analysis library.

Lindera A Japanese morphological analysis library in Rust. This project fork from fulmicoton's kuromoji-rs. Lindera aims to build a library which is e

A fast, low-resource Natural Language Processing and Text Correction library written in Rust.

nlprule A fast, low-resource Natural Language Processing and Error Correction library written in Rust. nlprule implements a rule- and lookup-based app

Rust wrapper for the BlingFire tokenization library

BlingFire in Rust blingfire is a thin Rust wrapper for the BlingFire tokenization library. Add the library to Cargo.toml to get started cargo add blin

A Rust library containing an offline version of webster's dictionary.

webster-rs A Rust library containing an offline version of webster's dictionary. Add to Cargo.toml webster = 0.3.0 Simple example: fn main() { le

Wrapper around Microsoft CNTK library

Bindings for CNTK library Simple low level bindings for CNTK library from Microsoft. API Documentation Status Currently exploring ways how to interact

Rust-nlp is a library to use Natural Language Processing algorithm with RUST

nlp Rust-nlp Implemented algorithm Distance Levenshtein (Explanation) Jaro / Jaro-Winkler (Explanation) Phonetics Soundex (Explanation) Metaphone (Exp

Releases(v1.0.1)
  • v1.0.1(Nov 24, 2021)

  • v1.0.0(Nov 24, 2021)

    Initial commit.

    In all seriousness, this was a module in another project that I wanted to use in a different one, so I published a crate.

    Check it out here: https://crates.io/crates/attorand

    Have a nice Thanksgiving, I guess. Back to compilers for me!

    Source code(tar.gz)
    Source code(zip)
Owner
Isaac Clayton
Student and software architect who enjoys language design, graphics programming, and machine learning.
Isaac Clayton
extremely-simplified top powered by ncurses.

xtop extremely-simplified top Depends xtop depends on below relatively primitive crates: ncurses: TUI sysconf: only to get a jiffy. signal-hook: to ha

smallkirby 4 Jan 28, 2022
Blazingly fast framework for in-process microservices on top of Tower ecosystem

norpc = not remote procedure call Motivation Developing an async application is often a very difficult task but building an async application as a set

Akira Hayakawa 15 Dec 12, 2022
mtop: top for Memcached

mtop mtop: top for Memcached. Features Display real-time statistics about your memcached servers such as Memory usage/limit Current/max connections Hi

Nick Pillitteri 6 Feb 27, 2023
A small rust library for creating regex-based lexers

A small rust library for creating regex-based lexers

nph 1 Feb 5, 2022
Generator of Firestore rules and type safe client code.

Generator of Firestore rules and type safe client code. Usage [WIP] Install from npm or curl. $ npm install -g firegen Setting your yml. # firegen.yml

Ubugeeei 3 Oct 6, 2022
frawk is a small programming language for writing short programs processing textual data

frawk frawk is a small programming language for writing short programs processing textual data. To a first approximation, it is an implementation of t

Eli Rosenthal 1k Jan 7, 2023
A small CLI utility for helping you learn japanese words made in rust 🦀

Memofante (Clique aqui ver em português) Memofante is here, a biiiig help: Do you often forget japanese words you really didn't want to forget? Do you

Tiaguinho 3 Nov 4, 2023
A command-line tool and library for generating regular expressions from user-provided test cases

Table of Contents What does this tool do? Do I still need to learn to write regexes then? Current features How to install? 4.1 The command-line tool 4

Peter M. Stahl 5.8k Dec 30, 2022
An efficient and powerful Rust library for word wrapping text.

Textwrap Textwrap is a library for wrapping and indenting text. It is most often used by command-line programs to format dynamic output nicely so it l

Martin Geisler 322 Dec 26, 2022
⏮ ⏯ ⏭ A Rust library to easily read forwards, backwards or randomly through the lines of huge files.

EasyReader The main goal of this library is to allow long navigations through the lines of large files, freely moving forwards and backwards or gettin

Michele Federici 81 Dec 6, 2022