147
edits
Changes
→Serial - Pi
===== Serial - Pi =====
<syntaxhighlight lang="go">
package main import ( "fmt" "math/rand" "time") //Function: Serial calustion of PIfunc SerialPIPI(samples int) float64 {
var inside int = 0
for i := 0; i < samples; i++ {
x := rrand.Float64() y := rrand.Float64() if (x*x + y*y) <= 1 {
inside++
}
return ratio * 4
}
func init() { rand.Seed(time.Now().UnixNano())} func main() { fmt.Println("Our value of Pi after 100 runs:\t\t\t", PI(100)) fmt.Println("Our value of Pi after 1,000 runs:\t\t", PI(1000)) fmt.Println("Our value of Pi after 10,000 runs:\t\t", PI(10000)) fmt.Println("Our value of Pi after 100,000 runs:\t\t", PI(100000)) fmt.Println("Our value of Pi after 1,000,000 runs:\t\t", PI(1000000)) fmt.Println("Our value of Pi after 10,000,000 runs:\t\t", PI(10000000)) fmt.Println("Our value of Pi after 100,000,000 runs:\t\t", PI(100000000))}</syntaxhighlight>
===== Serial execution CPU profile =====