FloatingPointSqrt<FpType extends FloatingPoint> constructor
Square root a floating point number a, returning result in sqrt.
clk,reset,enableare optional inputs to control a pipestage (only inserted ifclkis provided)
Implementation
FloatingPointSqrt(FpType a,
{Logic? clk,
Logic? reset,
Logic? enable,
super.name = 'floating_point_square_root',
super.reserveName,
super.reserveDefinitionName,
String? definitionName})
: exponentWidth = a.exponent.width,
mantissaWidth = a.mantissa.width,
super(
definitionName: definitionName ??
'FloatingPointSquareRoot_E${a.exponent.width}'
'M${a.mantissa.width}') {
this.clk = (clk != null) ? addInput('clk', clk) : null;
this.reset = (reset != null) ? addInput('reset', reset) : null;
this.enable = (enable != null) ? addInput('enable', enable) : null;
this.a = addTypedInput('a', a);
sqrt = addTypedOutput('sqrt', a.clone as FpType Function({String? name}));
addOutput('error');
}