proxy.go
func commonKind(v1, v2 reflect.Value) reflect.Kind {
	k1 := unsizedKind(v1)
	k2 := unsizedKind(v2)
	if k1 == k2 && (k1 == reflect.Uint64 || k1 == reflect.Int64) {
		return k1
	}
	if k1 == reflect.Complex128 || k2 == reflect.Complex128 {
		return reflect.Complex128
	}
	return reflect.Float64
}
func commonKind(v1, v2 reflect.Value) reflect.Kind {
	k1 := unsizedKind(v1)
	k2 := unsizedKind(v2)
	if k1 == k2 && (k1 == reflect.Uint64 || k1 == reflect.Int64) {
		return k1
	}
	if k1 == reflect.Complex128 || k2 == reflect.Complex128 {
		return reflect.Complex128
	}
	return reflect.Float64
}
func commonKind ( v1 , v2 reflect . Value ) reflect . Kind { k1 := unsizedKind ( v1 ) k2 := unsizedKind ( v2 ) if k1 == k2 && ( k1 == reflect . Uint64 || k1 == reflect . Int64 ) { return k1 } if k1 == reflect . Complex128 || k2 == reflect . Complex128 { return reflect . Complex128 } return reflect . Float64 }
// commonKind returns the kind to which v1 and v2 can be converted with the
// least information loss.
commonKind returns the kind to which v1 and v2 can be converted with the least information loss .