summaryrefslogtreecommitdiff
path: root/test/bench/spectral-norm-parallel.go
diff options
context:
space:
mode:
Diffstat (limited to 'test/bench/spectral-norm-parallel.go')
-rw-r--r--test/bench/spectral-norm-parallel.go18
1 files changed, 8 insertions, 10 deletions
diff --git a/test/bench/spectral-norm-parallel.go b/test/bench/spectral-norm-parallel.go
index 68aaedea6..47882c69d 100644
--- a/test/bench/spectral-norm-parallel.go
+++ b/test/bench/spectral-norm-parallel.go
@@ -46,9 +46,7 @@ import (
var n = flag.Int("n", 2000, "count")
var nCPU = flag.Int("ncpu", 4, "number of cpus")
-func evalA(i, j int) float64 {
- return 1 / float64(((i + j)*(i + j + 1)/2 + i + 1));
-}
+func evalA(i, j int) float64 { return 1 / float64(((i+j)*(i+j+1)/2 + i + 1)) }
type Vec []float64
@@ -56,7 +54,7 @@ func (v Vec) Times(i, n int, u Vec, c chan int) {
for ; i < n; i++ {
v[i] = 0;
for j := 0; j < len(u); j++ {
- v[i] += evalA(i, j)*u[j];
+ v[i] += evalA(i, j) * u[j]
}
}
c <- 1;
@@ -66,7 +64,7 @@ func (v Vec) TimesTransp(i, n int, u Vec, c chan int) {
for ; i < n; i++ {
v[i] = 0;
for j := 0; j < len(u); j++ {
- v[i] += evalA(j, i)*u[j];
+ v[i] += evalA(j, i) * u[j]
}
}
c <- 1;
@@ -82,11 +80,11 @@ func (v Vec) ATimesTransp(u Vec) {
x := make(Vec, len(u));
c := make(chan int, *nCPU);
for i := 0; i < *nCPU; i++ {
- go x.Times(i*len(v) / *nCPU, (i+1)*len(v) / *nCPU, u, c);
+ go x.Times(i*len(v) / *nCPU, (i+1)*len(v) / *nCPU, u, c)
}
wait(c);
for i := 0; i < *nCPU; i++ {
- go v.TimesTransp(i*len(v) / *nCPU, (i+1)*len(v) / *nCPU, x, c);
+ go v.TimesTransp(i*len(v) / *nCPU, (i+1)*len(v) / *nCPU, x, c)
}
wait(c);
}
@@ -97,7 +95,7 @@ func main() {
N := *n;
u := make(Vec, N);
for i := 0; i < N; i++ {
- u[i] = 1;
+ u[i] = 1
}
v := make(Vec, N);
for i := 0; i < 10; i++ {
@@ -106,8 +104,8 @@ func main() {
}
var vBv, vv float64;
for i := 0; i < N; i++ {
- vBv += u[i]*v[i];
- vv += v[i]*v[i];
+ vBv += u[i] * v[i];
+ vv += v[i] * v[i];
}
fmt.Printf("%0.9f\n", math.Sqrt(vBv/vv));
}