heat/main.go

53 lines
745 B
Go

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
}