package pflag

import 

// -- float32 Value
type float32Value float32

func newFloat32Value( float32,  *float32) *float32Value {
	* = 
	return (*float32Value)()
}

func ( *float32Value) ( string) error {
	,  := strconv.ParseFloat(, 32)
	* = float32Value()
	return 
}

func ( *float32Value) () string {
	return "float32"
}

func ( *float32Value) () string { return strconv.FormatFloat(float64(*), 'g', -1, 32) }

func float32Conv( string) (interface{}, error) {
	,  := strconv.ParseFloat(, 32)
	if  != nil {
		return 0, 
	}
	return float32(), nil
}

// GetFloat32 return the float32 value of a flag with the given name
func ( *FlagSet) ( string) (float32, error) {
	,  := .getFlagType(, "float32", float32Conv)
	if  != nil {
		return 0, 
	}
	return .(float32), nil
}

// Float32Var defines a float32 flag with specified name, default value, and usage string.
// The argument p points to a float32 variable in which to store the value of the flag.
func ( *FlagSet) ( *float32,  string,  float32,  string) {
	.VarP(newFloat32Value(, ), , "", )
}

// Float32VarP is like Float32Var, but accepts a shorthand letter that can be used after a single dash.
func ( *FlagSet) ( *float32, ,  string,  float32,  string) {
	.VarP(newFloat32Value(, ), , , )
}

// Float32Var defines a float32 flag with specified name, default value, and usage string.
// The argument p points to a float32 variable in which to store the value of the flag.
func ( *float32,  string,  float32,  string) {
	CommandLine.VarP(newFloat32Value(, ), , "", )
}

// Float32VarP is like Float32Var, but accepts a shorthand letter that can be used after a single dash.
func ( *float32, ,  string,  float32,  string) {
	CommandLine.VarP(newFloat32Value(, ), , , )
}

// Float32 defines a float32 flag with specified name, default value, and usage string.
// The return value is the address of a float32 variable that stores the value of the flag.
func ( *FlagSet) ( string,  float32,  string) *float32 {
	 := new(float32)
	.Float32VarP(, , "", , )
	return 
}

// Float32P is like Float32, but accepts a shorthand letter that can be used after a single dash.
func ( *FlagSet) (,  string,  float32,  string) *float32 {
	 := new(float32)
	.Float32VarP(, , , , )
	return 
}

// Float32 defines a float32 flag with specified name, default value, and usage string.
// The return value is the address of a float32 variable that stores the value of the flag.
func ( string,  float32,  string) *float32 {
	return CommandLine.Float32P(, "", , )
}

// Float32P is like Float32, but accepts a shorthand letter that can be used after a single dash.
func (,  string,  float32,  string) *float32 {
	return CommandLine.Float32P(, , , )
}