logo
Expand description

Public API for the number format packed struct.

This has a consistent API whether or not the format feature is enabled, however, most functionality will be disabled if the feature is not enabled.

Pre-Defined Formats

These are the pre-defined formats for parsing numbers from various programming, markup, and data languages.

Syntax Flags

Bitflags to get and set syntax flags for the format packed struct.

Digit Separator Flags

Bitflags to get and set digit separators flags for the format packed struct.

Character Shifts and Masks

Bitmasks and bitshifts to get and set control characters for the format packed struct.

Character Functions

Functions to get control characters from the format packed struct.

Validators

Functions to validate control characters for the format packed struct.

Structs

Build number format from specifications.

Constants

Mask to extract the base prefix character.

Shift to convert to and from a base prefix as a u8.

Mask to extract the base suffix character.

Shift to convert to and from a base suffix as a u8.

Base prefixes are case-sensitive.

Base suffixes are case-sensitive.

Exponent characters are case-sensitive.

Special (non-finite) values are case-sensitive.

Multiple consecutive digit separators are allowed.

Mask to extract the digit separator character.

Shift to convert to and from a digit separator as a u8.

Mask to extract the exponent base: the base the exponent is raised to.

Shift to convert to and from an exponent base as a u32.

Multiple consecutive exponent digit separators are allowed.

Digit separators are allowed between exponent digits.

A digit separator is allowed before any exponent digits.

Mask to extract the exponent radix: the radix for the exponent digits.

Shift to convert to and from an exponent radix as a u32.

A digit separator is allowed after any exponent digits.

Multiple consecutive fraction digit separators are allowed.

Digit separators are allowed between fraction digits.

A digit separator is allowed before any fraction digits.

A digit separator is allowed after any fraction digits.

Multiple consecutive integer digit separators are allowed.

Digit separators are allowed between integer digits.

A digit separator is allowed before any integer digits.

A digit separator is allowed after any integer digits.

Digit separators are allowed between digits.

A digit separator is allowed before any digits.

Mask to extract the mantissa radix: the radix for the significant digits.

Shift to convert to and from a mantissa radix as a u32.

Exponent notation is not allowed.

Exponent without a fraction component is not allowed.

Leading zeros before a float value are not allowed.

Leading zeros before an integer value are not allowed.

Positive sign before the exponent is not allowed.

Positive sign before the mantissa is not allowed.

Special (non-finite) values are not allowed.

Alias for MANTISSA_RADIX.

Alias for MANTISSA_RADIX_SHIFT.

At least 1 digit in the number is required.

Digits are required after the exponent character. This check will only occur if the exponent character is present.

Exponent notation is required.

Positive sign before the exponent is required.

Digits are required after the decimal point. This check will only occur if the decimal point is present.

Digits are required before the decimal point.

Mantissa digits are required (either before or after the decimal point).

Positive sign before the mantissa is required.

Any digit separators are allowed in special (non-finite) values.

Standard number format. This is identical to the Rust string format.

A digit separator is allowed after any digits.

Functions

Extract the base prefix character from the format packed struct.

Extract the base suffix character from the format packed struct.

Extract the digit separator from the format packed struct.

Extract the exponent base from the format packed struct. If not provided, defaults to mantissa_radix.

Extract the exponent radix from the format packed struct. If not provided, defaults to mantissa_radix.

Get the error type from the format packed struct.

Determine if the format packed struct is valid.

Determine if the base prefix character is valid.

Determine if the base suffix character is valid.

Determine if the digit separator is valid. Digit separators must not be valid digits or sign characters.

Determine if the provided exponent flags are valid.

Determine if all of the “punctuation” characters for the options API are valid.

Determine if all of the “punctuation” characters are valid.

Determine if the radix is valid.

Extract the mantissa radix from the format packed struct.

Extract a generic radix from the format and bitflags.

Type Definitions

Type with the exact same size as a u8.