@@ -156,7 +156,6 @@ func Zero() Float16 {
156156
157157// One returns a Float16 value representing 1.0
158158func One () Float16 {
159- converter := NewConverter (DefaultConversionMode , DefaultRoundingMode )
160159 return FromFloat32 (1.0 )
161160}
162161
@@ -232,8 +231,7 @@ func Frexp(f Float16) (frac Float16, exp int) {
232231
233232 f32 := f .ToFloat32 ()
234233 frac32 , exp := math .Frexp (float64 (f32 ))
235- converter := NewConverter (DefaultConversionMode , DefaultRoundingMode )
236- return converter .ToFloat16 (float32 (frac32 )), exp
234+ return FromFloat32 (float32 (frac32 )), exp
237235}
238236
239237// Ldexp returns frac × 2^exp
@@ -244,8 +242,7 @@ func Ldexp(frac Float16, exp int) Float16 {
244242
245243 frac32 := frac .ToFloat32 ()
246244 result := math .Ldexp (float64 (frac32 ), exp )
247- converter := NewConverter (DefaultConversionMode , DefaultRoundingMode )
248- return converter .ToFloat16 (float32 (result ))
245+ return FromFloat32 (float32 (result ))
249246}
250247
251248// Modf returns integer and fractional floating-point numbers that sum to f
@@ -257,8 +254,7 @@ func Modf(f Float16) (integer, frac Float16) {
257254
258255 f32 := f .ToFloat32 ()
259256 int32 , frac32 := math .Modf (float64 (f32 ))
260- converter := NewConverter (DefaultConversionMode , DefaultRoundingMode )
261- return converter .ToFloat16 (float32 (int32 )), converter .ToFloat16 (float32 (frac32 ))
257+ return FromFloat32 (float32 (int32 )), FromFloat32 (float32 (frac32 ))
262258}
263259
264260// Validation and classification functions
@@ -327,16 +323,16 @@ func GetBenchmarkOperations() map[string]BenchmarkOperation {
327323var (
328324 // Common integer values
329325 Zero16 = PositiveZero
330- One16 = NewConverter ( DefaultConversionMode , DefaultRoundingMode ). ToFloat16 (1.0 )
331- Two16 = NewConverter ( DefaultConversionMode , DefaultRoundingMode ). ToFloat16 (2.0 )
332- Three16 = NewConverter ( DefaultConversionMode , DefaultRoundingMode ). ToFloat16 (3.0 )
333- Four16 = NewConverter ( DefaultConversionMode , DefaultRoundingMode ). ToFloat16 (4.0 )
334- Five16 = NewConverter ( DefaultConversionMode , DefaultRoundingMode ). ToFloat16 (5.0 )
335- Ten16 = NewConverter ( DefaultConversionMode , DefaultRoundingMode ). ToFloat16 (10.0 )
326+ One16 = FromFloat32 (1.0 )
327+ Two16 = FromFloat32 (2.0 )
328+ Three16 = FromFloat32 (3.0 )
329+ Four16 = FromFloat32 (4.0 )
330+ Five16 = FromFloat32 (5.0 )
331+ Ten16 = FromFloat32 (10.0 )
336332
337333 // Common fractional values
338- Half16 = NewConverter ( DefaultConversionMode , DefaultRoundingMode ). ToFloat16 (0.5 )
339- Quarter16 = NewConverter ( DefaultConversionMode , DefaultRoundingMode ). ToFloat16 (0.25 )
334+ Half16 = FromFloat32 (0.5 )
335+ Quarter16 = FromFloat32 (0.25 )
340336 Third16 = FromFloat32 (1.0 / 3.0 )
341337
342338 // Special mathematical values
@@ -398,7 +394,7 @@ func ComputeSliceStats(s []Float16) SliceStats {
398394 }
399395
400396 if stats .Length > 0 {
401- stats .Mean = Div (stats .Sum , NewConverter ( DefaultConversionMode , DefaultRoundingMode ). FromInt (stats .Length ))
397+ stats .Mean = Div (stats .Sum , FromFloat32 ( float32 (stats .Length ) ))
402398 }
403399
404400 return stats
@@ -408,14 +404,12 @@ func ComputeSliceStats(s []Float16) SliceStats {
408404
409405// FastAdd performs addition optimized for speed (may sacrifice precision)
410406func FastAdd (a , b Float16 ) Float16 {
411- converter := NewConverter (DefaultConversionMode , DefaultRoundingMode )
412- return converter .ToFloat16 (a .ToFloat32 () + b .ToFloat32 ())
407+ return FromFloat32 (a .ToFloat32 () + b .ToFloat32 ())
413408}
414409
415410// FastMul performs multiplication optimized for speed (may sacrifice precision)
416411func FastMul (a , b Float16 ) Float16 {
417- converter := NewConverter (DefaultConversionMode , DefaultRoundingMode )
418- return converter .ToFloat16 (a .ToFloat32 () * b .ToFloat32 ())
412+ return FromFloat32 (a .ToFloat32 () * b .ToFloat32 ())
419413}
420414
421415// VectorAdd performs vectorized addition (placeholder for future SIMD implementation)
0 commit comments