1// run 2 3// Copyright 2021 The Go Authors. All rights reserved. 4// Use of this source code is governed by a BSD-style 5// license that can be found in the LICENSE file. 6 7// Verify exact constant evaluation independent of 8// (mathematically equivalent) expression form. 9 10package main 11 12import "fmt" 13 14const ulp1 = imag(1i + 2i / 3 - 5i / 3) 15const ulp2 = imag(1i + complex(0, 2) / 3 - 5i / 3) 16 17func main() { 18 if ulp1 != ulp2 { 19 panic(fmt.Sprintf("%g != %g\n", ulp1, ulp2)) 20 } 21} 22