github.com/hamba/avro/v2@v2.22.1-0.20240518180522-aff3955acf7d/converter.go (about) 1 package avro 2 3 func createLongConverter(typ Type) func(*Reader) int64 { 4 switch typ { 5 case Int: 6 return func(r *Reader) int64 { return int64(r.ReadInt()) } 7 default: 8 return nil 9 } 10 } 11 12 func createFloatConverter(typ Type) func(*Reader) float32 { 13 switch typ { 14 case Int: 15 return func(r *Reader) float32 { return float32(r.ReadInt()) } 16 case Long: 17 return func(r *Reader) float32 { return float32(r.ReadLong()) } 18 default: 19 return nil 20 } 21 } 22 23 func createDoubleConverter(typ Type) func(*Reader) float64 { 24 switch typ { 25 case Int: 26 return func(r *Reader) float64 { return float64(r.ReadInt()) } 27 case Long: 28 return func(r *Reader) float64 { return float64(r.ReadLong()) } 29 case Float: 30 return func(r *Reader) float64 { return float64(r.ReadFloat()) } 31 default: 32 return nil 33 } 34 }