pub struct ControlRegister(/* private fields */);
Available on AArch64 only.
Expand description

FPCR: Influences floating-point instruction execution.

Implementations§

source§

impl ControlRegister

source

pub fn alternative_half_precision_format(&self) -> bool

AHP: Use an alternative format for half-precision floats when converting to/from other formats. Otherwise, use the IEEE half-precision format.

source

pub fn default_nan(&self) -> bool

DN: Always use the default encoding for NaN results. Otherwise, use the encoding from an input operand.

source

pub fn flush_to_zero(&self) -> bool

FZ: When a result would be denormal, yield zero instead. Otherwise, use the IEEE 754 behavior.

source

pub fn rounding_mode(&self) -> RoundingMode

RMode: The IEEE 754 rounding mode in use.

source

pub fn flush_to_zero_half_precision(&self) -> bool

FZ16: Counterpart to flush_to_zero for half-precision calculations.

Requires FEAT_FP16.

source

pub fn trapped_exceptions(&self) -> Exceptions

For each type of floating-point exception, defines whether the error will be trapped. If false, the corresponding flag in StatusRegister::exceptions will be set instead.

source

pub fn set_alternative_half_precision_format(&mut self, value: bool)

AHP: Use an alternative format for half-precision floats when converting to/from other formats. Otherwise, use the IEEE half-precision format.

source

pub fn with_alternative_half_precision_format(&mut self, value: bool) -> Self

AHP: Use an alternative format for half-precision floats when converting to/from other formats. Otherwise, use the IEEE half-precision format.

source

pub fn set_default_nan(&mut self, value: bool)

DN: Always use the default encoding for NaN results. Otherwise, use the encoding from an input operand.

source

pub fn with_default_nan(&mut self, value: bool) -> Self

DN: Always use the default encoding for NaN results. Otherwise, use the encoding from an input operand.

source

pub fn set_flush_to_zero(&mut self, value: bool)

FZ: When a result would be denormal, yield zero instead. Otherwise, use the IEEE 754 behavior.

source

pub fn with_flush_to_zero(&mut self, value: bool) -> Self

FZ: When a result would be denormal, yield zero instead. Otherwise, use the IEEE 754 behavior.

source

pub fn set_rounding_mode(&mut self, value: RoundingMode)

RMode: The IEEE 754 rounding mode in use.

source

pub fn with_rounding_mode(&self, value: RoundingMode) -> Self

RMode: The IEEE 754 rounding mode in use.

source

pub fn set_flush_to_zero_half_precision(&mut self, value: bool)

FZ16: Counterpart to flush_to_zero for half-precision calculations.

Requires FEAT_FP16.

source

pub fn with_flush_to_zero_half_precision(&mut self, value: bool) -> Self

FZ16: Counterpart to flush_to_zero for half-precision calculations.

Requires FEAT_FP16.

source

pub fn set_trapped_exceptions(&mut self, value: Exceptions)

For each type of floating-point exception, defines whether the error will be trapped. If false, the corresponding flag in StatusRegister::exceptions will be set instead.

source

pub fn with_trapped_exceptions(&self, value: Exceptions) -> Self

For each type of floating-point exception, defines whether the error will be trapped. If false, the corresponding flag in StatusRegister::exceptions will be set instead.

source§

impl ControlRegister

source

pub fn get() -> Self

Retrieve the current value of this register

source

pub fn set(value: Self)

Update the register to the given value.

Trait Implementations§

source§

impl Bitfield<u64> for ControlRegister

§

fn new(value: T) -> Self

Construct a new bitfield type from its underlying representation
§

fn value(self) -> T

Unwrap the bitfield into its underlying representation
source§

impl Clone for ControlRegister

source§

fn clone(&self) -> ControlRegister

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for ControlRegister

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for ControlRegister

source§

fn default() -> ControlRegister

Returns the “default value” for a type. Read more
source§

impl From<ControlRegister> for u64

source§

fn from(val: ControlRegister) -> Self

Converts to this type from the input type.
source§

impl From<u64> for ControlRegister

source§

fn from(val: u64) -> Self

Converts to this type from the input type.
source§

impl PartialEq for ControlRegister

source§

fn eq(&self, other: &ControlRegister) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl Copy for ControlRegister

source§

impl Eq for ControlRegister

source§

impl StructuralPartialEq for ControlRegister

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.