Initial commit: Go 1.23 release state
This commit is contained in:
72
test/ken/cplx5.go
Normal file
72
test/ken/cplx5.go
Normal file
@@ -0,0 +1,72 @@
|
||||
// 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] }
|
||||
Reference in New Issue
Block a user