private static bfloat16 __float2bfloat16(float a)
        {
            bfloat16 r         = new bfloat16();
            uint     sign      = 0;
            uint     remainder = 0;

            r.x = __internal_float2bfloat16(a, ref sign, ref remainder);
            if ((remainder > 0x80000000U) || ((remainder == 0x80000000U) && ((r.x & 0x1U) != 0U)))
            {
                r.x++;
            }

            return(r);
        }
 /// <summary>
 ///
 /// </summary>
 public bfloat16(bfloat16 bf16)
 {
     x = bf16.x;
 }