Skip to main content

plan_for

Function plan_for 

Source
pub fn plan_for(
    op: Op,
    block: &Block,
    latency: usize,
    target: &Semantics,
) -> Result<Plan, HardError>
Expand description

The wrapper’s build for the block’s op at latency clocks that makes it compute target: the logic around it flushes the denormal operands the block reads as themselves where target reads zeros, flushes the denormal results the block keeps where target flushes them at the denormals’ place keeping their sign, and writes 0x7fc00000 for every NaN where that is target’s one NaN and the block’s is another. Refused by name is a block that reads a zero or flushes a result where target keeps a denormal, decides tininess elsewhere than target, flushes to another sign, or returns NaNs target does not and the wrapper cannot write.