A friend of mine runs a pharmacy.   He has a specialized function in his Dispensary application which receives a decimal value of currency and replaces it to a standard value.   This value is regulated by a government department.



Task

Given a floating point value between   0.00   and   1.00,   rescale according to the following table:

>=  0.00  <  0.06  :=  0.10
>=  0.06  <  0.11  :=  0.18
>=  0.11  <  0.16  :=  0.26
>=  0.16  <  0.21  :=  0.32
>=  0.21  <  0.26  :=  0.38
>=  0.26  <  0.31  :=  0.44
>=  0.31  <  0.36  :=  0.50
>=  0.36  <  0.41  :=  0.54
>=  0.41  <  0.46  :=  0.58
>=  0.46  <  0.51  :=  0.62
>=  0.51  <  0.56  :=  0.66
>=  0.56  <  0.61  :=  0.70
>=  0.61  <  0.66  :=  0.74
>=  0.66  <  0.71  :=  0.78
>=  0.71  <  0.76  :=  0.82
>=  0.76  <  0.81  :=  0.86
>=  0.81  <  0.86  :=  0.90
>=  0.86  <  0.91  :=  0.94
>=  0.91  <  0.96  :=  0.98
>=  0.96  <  1.01  :=  1.00



package main
 
import "fmt"
 
func pf(v float64) float64 {
    switch {
    case v < .06:
        return .10
    case v < .11:
        return .18
    case v < .16:
        return .26
    case v < .21:
        return .32
    case v < .26:
        return .38
    case v < .31:
        return .44
    case v < .36:
        return .50
    case v < .41:
        return .54
    case v < .46:
        return .58
    case v < .51:
        return .62
    case v < .56:
        return .66
    case v < .61:
        return .70
    case v < .66:
        return .74
    case v < .71:
        return .78
    case v < .76:
        return .82
    case v < .81:
        return .86
    case v < .86:
        return .90
    case v < .91:
        return .94
    case v < .96:
        return .98
    }
    return 1
}
 
func main() {
    tests := []float64{0.3793, 0.4425, 0.0746, 0.6918, 0.2993,
        0.5486, 0.7848, 0.9383, 0.2292, 0.9760}
    for _, v := range tests {
        fmt.Printf("%0.4f -> %0.2f\n", v, pf(v))
    }
}