text: // File generated by specialize. Do not edit.
  
  // Licensed to the Apache Software Foundation (ASF) under one or more
  // contributor license agreements.  See the NOTICE file distributed with
  // this work for additional information regarding copyright ownership.
  // The ASF licenses this file to You under the Apache License, Version 2.0
  // (the "License"); you may not use this file except in compliance with
  // the License.  You may obtain a copy of the License at
  //
  //    http://www.apache.org/licenses/LICENSE-2.0
  //
  // Unless required by applicable law or agreed to in writing, software
  // distributed under the License is distributed on an "AS IS" BASIS,
  // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  // See the License for the specific language governing permissions and
  // limitations under the License.
  
  package stats
  
  import (
  	"fmt"
  	"reflect"
  )
  
  func findMinFn(t reflect.Type) interface{} {
  	switch t.String() {
  	case "int":
  		return minIntFn
  	case "int8":
  		return minInt8Fn
  	case "int16":
  		return minInt16Fn
  	case "int32":
  		return minInt32Fn
  	case "int64":
  		return minInt64Fn
  	case "uint":
  		return minUintFn
  	case "uint8":
  		return minUint8Fn
  	case "uint16":
  		return minUint16Fn
  	case "uint32":
  		return minUint32Fn
  	case "uint64":
  		return minUint64Fn
  	case "float32":
  		return minFloat32Fn
  	case "float64":
  		return minFloat64Fn
  	default:
  		panic(fmt.Sprintf("Unexpected number type: %v", t))
  	}
  }
  
  func minIntFn(x, y int) int {
  	if x < y {
  		return x
  	}
  	return y
  }
  
  func minInt8Fn(x, y int8) int8 {
  	if x < y {
  		return x
  	}
  	return y
  }
  
  func minInt16Fn(x, y int16) int16 {
  	if x < y {
  		return x
  	}
  	return y
  }
  
  func minInt32Fn(x, y int32) int32 {
  	if x < y {
  		return x
  	}
  	return y
  }
  
  func minInt64Fn(x, y int64) int64 {
  	if x < y {
  		return x
  	}
  	return y
  }
  
  func minUintFn(x, y uint) uint {
  	if x < y {
  		return x
  	}
  	return y
  }
  
  func minUint8Fn(x, y uint8) uint8 {
  	if x < y {
  		return x
  	}
  	return y
  }
  
  func minUint16Fn(x, y uint16) uint16 {
  	if x < y {
  		return x
  	}
  	return y
  }
  
  func minUint32Fn(x, y uint32) uint32 {
  	if x < y {
  		return x
  	}
  	return y
  }
  
  func minUint64Fn(x, y uint64) uint64 {
  	if x < y {
  		return x
  	}
  	return y
  }
  
  func minFloat32Fn(x, y float32) float32 {
  	if x < y {
  		return x
  	}
  	return y
  }
  
  func minFloat64Fn(x, y float64) float64 {
  	if x < y {
  		return x
  	}
  	return y
  }
  