package main
import (
harness_bufio "bufio"
harness_flag "flag"
harness_fmt "fmt"
harness_os "os"
harness_strconv "strconv"
harness_testing "testing"
)
@"imports"@
@"declarations"@
func main() {
harness_testing.Init()
harness_flag.Parse()
@"global"@
bench := func(b *harness_testing.B) {
@"sample"@
b.ResetTimer()
for i := 0; i < b.N; i++ {
@"timed"@
}
}
stdin := harness_bufio.NewScanner(harness_os.Stdin)
for stdin.Scan() {
n, err := harness_strconv.ParseUint(stdin.Text(), 10, 64)
if err != nil {
harness_fmt.Fprintln(harness_os.Stderr, "parsing integer input:", err)
harness_os.Exit(1)
}
if n == 0 {
harness_fmt.Println("0 nsec")
harness_os.Exit(0)
}
benchtime_arg := harness_fmt.Sprintf("%dx", n)
harness_flag.Set("test.benchtime", benchtime_arg)
result := harness_testing.Benchmark(bench)
harness_fmt.Printf("%d nsec for %d iterations\n", result.T.Nanoseconds(), result.N)
}
if err := stdin.Err(); err != nil {
harness_fmt.Fprintln(harness_os.Stderr, "reading standard input:", err)
}
}