@@ -7,7 +7,7 @@ func BFloat16AddWithMode(a, b BFloat16, mode ArithmeticMode, rounding RoundingMo
77 // Handle NaN propagation: if either operand is NaN, propagate it
88 if a .IsNaN () || b .IsNaN () {
99 if mode == ModeExactArithmetic {
10- return 0 , & Float16Error {Op : "bfloat16_add" , Msg : "NaN operand in exact mode" , Code : ErrNaN }
10+ return 0 , & BFloat16Error {Op : "bfloat16_add" , Msg : "NaN operand in exact mode" , Code : ErrNaN }
1111 }
1212 return BFloat16QuietNaN , nil
1313 }
@@ -24,7 +24,7 @@ func BFloat16AddWithMode(a, b BFloat16, mode ArithmeticMode, rounding RoundingMo
2424 if a .IsInf (0 ) || b .IsInf (0 ) {
2525 if a .IsInf (1 ) && b .IsInf (- 1 ) || a .IsInf (- 1 ) && b .IsInf (1 ) {
2626 if mode == ModeExactArithmetic {
27- return 0 , & Float16Error {Op : "bfloat16_add" , Msg : "infinity - infinity is undefined" , Code : ErrInvalidOperation }
27+ return 0 , & BFloat16Error {Op : "bfloat16_add" , Msg : "infinity - infinity is undefined" , Code : ErrInvalidOperation }
2828 }
2929 return BFloat16QuietNaN , nil
3030 }
@@ -64,7 +64,7 @@ func BFloat16MulWithMode(a, b BFloat16, mode ArithmeticMode, rounding RoundingMo
6464 // NaN propagation
6565 if a .IsNaN () || b .IsNaN () {
6666 if mode == ModeExactArithmetic {
67- return 0 , & Float16Error {Op : "bfloat16_mul" , Msg : "NaN operand in exact mode" , Code : ErrNaN }
67+ return 0 , & BFloat16Error {Op : "bfloat16_mul" , Msg : "NaN operand in exact mode" , Code : ErrNaN }
6868 }
6969 return BFloat16QuietNaN , nil
7070 }
@@ -75,7 +75,7 @@ func BFloat16MulWithMode(a, b BFloat16, mode ArithmeticMode, rounding RoundingMo
7575 // 0 * Inf = NaN
7676 if (aZero && b .IsInf (0 )) || (a .IsInf (0 ) && bZero ) {
7777 if mode == ModeExactArithmetic {
78- return 0 , & Float16Error {Op : "bfloat16_mul" , Msg : "zero times infinity is undefined" , Code : ErrInvalidOperation }
78+ return 0 , & BFloat16Error {Op : "bfloat16_mul" , Msg : "zero times infinity is undefined" , Code : ErrInvalidOperation }
7979 }
8080 return BFloat16QuietNaN , nil
8181 }
@@ -119,23 +119,23 @@ func BFloat16DivWithMode(a, b BFloat16, mode ArithmeticMode, rounding RoundingMo
119119 // NaN propagation
120120 if a .IsNaN () || b .IsNaN () {
121121 if mode == ModeExactArithmetic {
122- return 0 , & Float16Error {Op : "bfloat16_div" , Msg : "NaN operand in exact mode" , Code : ErrNaN }
122+ return 0 , & BFloat16Error {Op : "bfloat16_div" , Msg : "NaN operand in exact mode" , Code : ErrNaN }
123123 }
124124 return BFloat16QuietNaN , nil
125125 }
126126
127127 // 0 / 0 = NaN
128128 if a .IsZero () && b .IsZero () {
129129 if mode == ModeExactArithmetic {
130- return 0 , & Float16Error {Op : "bfloat16_div" , Msg : "zero divided by zero is undefined" , Code : ErrInvalidOperation }
130+ return 0 , & BFloat16Error {Op : "bfloat16_div" , Msg : "zero divided by zero is undefined" , Code : ErrInvalidOperation }
131131 }
132132 return BFloat16QuietNaN , nil
133133 }
134134
135135 // finite / 0 = +/-Inf
136136 if b .IsZero () {
137137 if mode == ModeExactArithmetic {
138- return 0 , & Float16Error {Op : "bfloat16_div" , Msg : "division by zero" , Code : ErrDivisionByZero }
138+ return 0 , & BFloat16Error {Op : "bfloat16_div" , Msg : "division by zero" , Code : ErrDivisionByZero }
139139 }
140140 if a .Signbit () != b .Signbit () {
141141 return BFloat16NegativeInfinity , nil
@@ -154,7 +154,7 @@ func BFloat16DivWithMode(a, b BFloat16, mode ArithmeticMode, rounding RoundingMo
154154 // Inf / Inf = NaN
155155 if a .IsInf (0 ) && b .IsInf (0 ) {
156156 if mode == ModeExactArithmetic {
157- return 0 , & Float16Error {Op : "bfloat16_div" , Msg : "infinity divided by infinity is undefined" , Code : ErrInvalidOperation }
157+ return 0 , & BFloat16Error {Op : "bfloat16_div" , Msg : "infinity divided by infinity is undefined" , Code : ErrInvalidOperation }
158158 }
159159 return BFloat16QuietNaN , nil
160160 }
0 commit comments