mirror of
https://github.com/saymrwulf/onnxruntime.git
synced 2026-05-14 20:48:00 +00:00
### Description Introduce `Float16/BFloat16` support for C# and C++ APIs. User should be able to perform conversions from `float` to/from `Float16/BFloat16`, compare values and tests for `NaN, Inifnity, and whether the number is denormalized.` ### Motivation and Context User filed issues such as: https://github.com/microsoft/onnxruntime/issues/14303
47 lines
No EOL
2.8 KiB
XML
47 lines
No EOL
2.8 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
|
|
<AutoVisualizer xmlns="http://schemas.microsoft.com/vstudio/debugger/natvis/2010">
|
|
<Type Name="onnxruntime::MLFloat16">
|
|
<Intrinsic Name="_negative" Expression="(val & 0x8000) == 1"/>
|
|
<Intrinsic Name="_strip_sign" Expression="(val & ~0x8000)"/>
|
|
<Intrinsic Name="_is_nan" Expression="(_strip_sign() > 0x7C00)"/>
|
|
<Intrinsic Name="_is_finite" Expression="(_strip_sign() < 0x7C00)"/>
|
|
<Intrinsic Name="_is_normal" Expression="(_is_finite() && (val != 0)) && ((val & 0x7C00) != 0)"/>
|
|
<Intrinsic Name="_biased_exponent" Expression="(val >> 10) & (0x7C00 >> 10)"/>
|
|
<Intrinsic Name="_exponent" Expression="(int16_t)(_biased_exponent() - 15)"/>
|
|
<Intrinsic Name="_significand" Expression="(val & 0x03FF)"/>
|
|
<DisplayString>{{val={ val }}}</DisplayString>
|
|
<Expand>
|
|
<Item Name="[Negative]" ExcludeView="simple">_negative()</Item>
|
|
<Item Name="[IsNan]" ExcludeView="simple" Condition="_is_nan()">true</Item>
|
|
<Item Name="[IsFinite]" ExcludeView="simple">_is_finite()</Item>
|
|
<Item Name="[IsNormal]" ExcludeView="simple">_is_normal()</Item>
|
|
<Item Name="[uint16_t]" ExcludeView="simple">val</Item>
|
|
<Item Name="[Exponent]" ExcludeView="simple">_exponent()</Item>
|
|
<Item Name="[Biased Exponent]" ExcludeView="simple">_biased_exponent()</Item>
|
|
<Item Name="[Significand]" ExcludeView="simple">_significand()</Item>
|
|
</Expand>
|
|
</Type>
|
|
|
|
<Type Name="onnxruntime::BFloat16">
|
|
<Intrinsic Name="_negative" Expression="(val & 0x8000) == 1"/>
|
|
<Intrinsic Name="_strip_sign" Expression="(val & ~0x8000)"/>
|
|
<Intrinsic Name="_is_nan" Expression="(_strip_sign() > 0x7F80)"/>
|
|
<Intrinsic Name="_is_finite" Expression="(_strip_sign() < 0x7F80)"/>
|
|
<Intrinsic Name="_is_normal" Expression="(_is_finite() && (val != 0)) && ((val & 0x7F80) != 0)"/>
|
|
<Intrinsic Name="_biased_exponent" Expression="(val >> 7) & (0x7F80 >> 7)"/>
|
|
<Intrinsic Name="_exponent" Expression="(int16_t)(_biased_exponent() - 127)"/>
|
|
<Intrinsic Name="_significand" Expression="(val & 0x007F)"/>
|
|
<DisplayString>{{val={ val }}}</DisplayString>
|
|
<Expand>
|
|
<Item Name="[Negative]" ExcludeView="simple">_negative()</Item>
|
|
<Item Name="[IsNormal]" ExcludeView="simple">_is_normal()</Item>
|
|
<Item Name="[IsNan]" ExcludeView="simple" Condition="_is_nan()">true</Item>
|
|
<Item Name="[IsFinite]" ExcludeView="simple">_is_finite()</Item>
|
|
<Item Name="[uint16_t]" ExcludeView="simple">val</Item>
|
|
<Item Name="[Exponent]" ExcludeView="simple">_exponent()</Item>
|
|
<Item Name="[Biased Exponent]" ExcludeView="simple">_biased_exponent()</Item>
|
|
<Item Name="[Significand]" ExcludeView="simple">_significand()</Item>
|
|
</Expand>
|
|
</Type>
|
|
</AutoVisualizer> |