package main import ( "fmt" "math" "os" "runtime" "sync" ) const version = "v1.0.1" const usage = "heat [-v|--verbose]" func heat() { var t float64 = math.MaxFloat64 for { t /= 2.0 if t < math.SmallestNonzeroFloat32 { t = math.MaxFloat64 } } } func main() { if len(os.Args) > 1 { if verbose(os.Args) { fmt.Printf("heat version %v\n", version) os.Exit(0) } else { fmt.Fprintf(os.Stderr, "usage: %v\n", usage) os.Exit(1) } } wg := sync.WaitGroup{} wg.Add(1) for i := 0; i < runtime.NumCPU(); i++ { go heat() } wg.Wait() } func verbose(args []string) bool { r := false for _, arg := range args { switch arg { case "-v", "-version", "--version", "v", "version": r = true } } return r }