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.