// Copyright 2017 CoreOS, Inc. // // Licensed 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 analyze import ( "fmt" "os" ) func minFloat64(a, b float64) float64 { if a < b { return a } return b } func maxFloat64(a, b float64) float64 { if a > b { return a } return b } func makeHeader(column string, tag string) string { return fmt.Sprintf("%s-%s", column, tag) } func openToRead(fpath string) (*os.File, error) { f, err := os.OpenFile(fpath, os.O_RDONLY, 0444) if err != nil { return nil, err } return f, nil } func openToOverwrite(fpath string) (*os.File, error) { f, err := os.OpenFile(fpath, os.O_RDWR|os.O_TRUNC|os.O_CREATE, 0777) if err != nil { return nil, err } return f, nil } func toFile(txt, fpath string) error { f, err := openToOverwrite(fpath) if err != nil { f, err = os.Create(fpath) if err != nil { return err } } defer f.Close() _, err = f.WriteString(txt) return err }