1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
|
# Partial-Element Getter
This function extracts a portion of an integer value from a [`PartialElement`].
The `BitField` implementations call it as they assemble a complete integer. It
performs the following steps:
1. the `PartialElement` is loaded (and masked to discard unused bits),
1. the loaded value is then shifted to abut the LSedge of the stack local,
1. and then `resize`d into a `U` value.
## Type Parameters
- `O` and `T` are the type parameters of the `PartialElement` argument.
- `U` is the destination integer type.
## Parameters
- `elem`: A `PartialElement` containing a value segment.
- `shamt`: The distance by which to right-shift the value loaded from `elem` so
that it abuts the LSedge.
## Returns
The segment of an integer stored in `elem`.
[`PartialElement`]: crate::domain::PartialElement
|