twelve_bit

Crates.iotwelve_bit
lib.rstwelve_bit
version0.1.1
sourcesrc
created_at2016-06-19 01:24:46.529271
updated_at2016-06-20 22:08:50.058729
descriptionA Rust library for representing 12-bit unsigned values. This is primarily useful for implementing Chip-8 assemblers and interpreters safely. The type implements the bulk of the standard Rust literal semantics and operators, and much of the documentation is adapted from the u16 intrinsic type.
homepagehttp://github.com/martinmroz/12bit
repositoryhttp://github.com/martinmroz/12bit
max_upload_size
id5418
size63,072
Martin Mroz (martinmroz)

documentation

http://martinmroz.github.io/12bit

README

twelve_bit

A Rust library for representing 12-bit unsigned values. This is primarily useful for implementing Chip-8 assemblers and interpreters safely. The type implements bulk of the standard Rust literal semantics and operators, and much of the documentation is adapted from the u16 intrinsic type.

Build Status Coverage Status

Usage

Add the following to your Cargo.toml:

[dependencies]
twelve_bit = "0.1"

In addition, and this to your crate root:

#[macro_use]
extern crate twelve_bit;

Here is an example demonstrating how to interact with the U12 data type.

#[macro_use]
extern crate twelve_bit;

use twelve_bit::u12::*;

fn main() {
  assert_eq!(u12![1] + u12![2], u12![3]);
  assert_eq!(u12![4095], U12::maximum_value());
  assert_eq!(u12![4095].overflowing_add(u12![1]), (u12![0], true));
  assert_eq!(u12![4095].overflowing_add(u12![1]), (u12![0], true));
}

Missing Features

  • Support for ShlAssign and ShrAssign.
  • Support for bitwise assignment traits.
  • Support for U12::from_str_radix().
  • Support for Display, UpperHex, LowerHex, Octal and Binary.
  • Support for Hash.
  • Support for Step.

License

twelve_bit is distributed under the terms of the MIT license.

See LICENSE for details.

Commit count: 0

cargo fmt