Struct base_custom::BaseCustom [] [src]

pub struct BaseCustom<T> {
    pub base: u64,
    // some fields omitted
}

The BaseCustom struct holds the information to perform number conversions via the gen and decimal methods.

A new instance of BaseCustom can be created with either

If you are going to provide a delimiter you need to use the <String> implementation. A delimiter is optional.

The primitives for BaseCustom get built from the provides characters or string groups and conversion methods are available to use then. String groupings will be single character strings if no delimiter is given, otherwise they may be strings of any length split only by the delimiter provided.

Fields

The size of the base

Methods

impl BaseCustom<char>
[src]

'new' creates a new BaseCustom instance and propogates the values for converting numeric bases.

new for BaseCustom<char> requires a Vec<char> as its parameters and units for measuring the custom numeric base will only be one character long each.

gen returns a String computed from the character mapping and positional values the given u64 parameter evalutes to for your custom base

Example

use base_custom::BaseCustom;

let base2 = BaseCustom::<char>::new(vec!['0','1']);
assert_eq!(base2.gen(3), "11");

Output

"11"

char returns a char straight from the character mapping. decimal value must be within character range for a Some result.

Example

use base_custom::BaseCustom;

let base10 = BaseCustom::<char>::new("0123456789".chars().collect());
assert_eq!(base10.char(9), Some('9'));

Output

'9'

decimal returns a u64 value on computed from the units that form the custom base.

Example

use base_custom::BaseCustom;

let base2 = BaseCustom::<char>::new(vec!['0','1']);
assert_eq!(base2.decimal("00011"), 3);

Output

3

Returns the zero value of your custom base

Returns the one value of your custom base

Returns the nth value of your custom base

Like most indexing operations, the count starts from zero, so nth(0) returns the first value, nth(1) the second, and so on.

Create a custom numeric base from an ascii range of ordinal values

This method currently restricts the ascii character range of the 95 typical characters starting from 32 and ending with 127. If you'd like to use characters outside of this range please use the new method.

impl BaseCustom<String>
[src]

'new' creates a new BaseCustom instance and propogates the values for converting numeric bases.

new for BaseCustom<String> requires a String as its first parameter and units for measuring the custom numeric base can be one character long, or many in length. The second parameter is of Option<char> is a delimiter option for determining whether to split the string into single character length strings or possibly multiple length if the delimiter is partitioning the string in such a way.

gen returns a String computed from the character mapping and positional values the given u64 parameter evalutes to for your custom base

Example

use base_custom::BaseCustom;

let base2 = BaseCustom::<String>::new("01", None);
assert_eq!(base2.gen(3), "11");

Output

"11"

decimal returns a u64 value on computed from the units that form the custom base.

Example

use base_custom::BaseCustom;

let base2 = BaseCustom::<String>::new("01", None);
assert_eq!(base2.decimal("00011"), 3);

Output

3

Returns the zero value of your custom base

Returns the one value of your custom base

Returns the nth value of your custom base

Like most indexing operations, the count starts from zero, so nth(0) returns the first value, nth(1) the second, and so on.

Trait Implementations

impl<T: Clone> Clone for BaseCustom<T>
[src]

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

impl Debug for BaseCustom<char>
[src]

Formats the value using the given formatter.

impl Debug for BaseCustom<String>
[src]

Formats the value using the given formatter.

impl PartialEq for BaseCustom<char>
[src]

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

impl PartialEq for BaseCustom<String>
[src]

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.