mirror of
https://github.com/tinygo-org/tinygo.git
synced 2026-08-06 12:03:41 +00:00
compiler: add complex manipulation
* builtins: real, imag, complex * printing of complex numbers No support for complex arithmetic yet.
This commit is contained in:
Vendored
+20
@@ -23,4 +23,24 @@ func main() {
|
||||
// casting
|
||||
println(float32(f64))
|
||||
println(float64(f32))
|
||||
|
||||
// complex64
|
||||
c64 := complex(f32, 1.2)
|
||||
println(c64)
|
||||
println(real(c64))
|
||||
println(imag(c64))
|
||||
|
||||
// complex128
|
||||
c128 := complex(f64, -2.0)
|
||||
println(c128)
|
||||
println(real(c128))
|
||||
println(imag(c128))
|
||||
|
||||
// untyped complex
|
||||
println(2 + 1i)
|
||||
println(complex(2, -2))
|
||||
|
||||
// cast complex
|
||||
println(complex64(c128))
|
||||
println(complex128(c64))
|
||||
}
|
||||
|
||||
Vendored
+10
@@ -11,3 +11,13 @@
|
||||
+3.333333e-001
|
||||
+6.666667e-001
|
||||
+6.666667e-001
|
||||
(+6.666667e-001+1.200000e+000i)
|
||||
+6.666667e-001
|
||||
+1.200000e+000
|
||||
(+6.666667e-001-2.000000e+000i)
|
||||
+6.666667e-001
|
||||
-2.000000e+000
|
||||
(+2.000000e+000+1.000000e+000i)
|
||||
(+2.000000e+000-2.000000e+000i)
|
||||
(+6.666667e-001-2.000000e+000i)
|
||||
(+6.666667e-001+1.200000e+000i)
|
||||
|
||||
Vendored
+3
@@ -29,6 +29,9 @@ func main() {
|
||||
// print float64
|
||||
println(3.14)
|
||||
|
||||
// print complex128
|
||||
println(5+1.2345i)
|
||||
|
||||
// print interface
|
||||
println(interface{}(nil))
|
||||
|
||||
|
||||
Vendored
+1
@@ -16,6 +16,7 @@ a b c
|
||||
123456789012
|
||||
-123456789012
|
||||
+3.140000e+000
|
||||
(+5.000000e+000+1.234500e+000i)
|
||||
(0:nil)
|
||||
map[2]
|
||||
true false
|
||||
|
||||
Reference in New Issue
Block a user