// run // Copyright 2010 The Go Authors. All rights reserved. // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. // Test compound types made of complex numbers. package main var a [12]complex128 var s []complex128 var c chan complex128 var f struct { c complex128 } var m map[complex128]complex128 func main() { // array of complex128 for i := 0; i < len(a); i++ { a[i] = complex(float64(i), float64(-i)) } if a[5] != 5-5i { panic(a[5]) } // slice of complex128 s = make([]complex128, len(a)) for i := 0; i < len(s); i++ { s[i] = a[i] } if s[5] != 5-5i { panic(s[5]) } // chan c = make(chan complex128) go chantest(c) vc := <-c if vc != 5-5i { panic(vc) } // pointer of complex128 v := a[5] pv := &v if *pv != 5-5i { panic(*pv) } // field of complex128 f.c = a[5] if f.c != 5-5i { panic(f.c) } // map of complex128 m = make(map[complex128]complex128) for i := 0; i < len(s); i++ { m[-a[i]] = a[i] } if m[5i-5] != 5-5i { panic(m[5i-5]) } vm := m[complex(-5, 5)] if vm != 5-5i { panic(vm) } } func chantest(c chan complex128) { c <- a[5] }