github.com/llvm-mirror/llgo@v0.0.0-20190322182713-bf6f0a60fce1/test/execution/conversions/float.go (about) 1 // RUN: llgo -o %t %s 2 // RUN: %t 2>&1 | FileCheck %s 3 4 // CHECK: 123 5 // CHECK-NEXT: 123 6 // CHECK-NEXT: 123 7 // CHECK-NEXT: 123 8 // CHECK-NEXT: 123 9 // CHECK-NEXT: 123 10 // CHECK-NEXT: 123 11 // CHECK-NEXT: 123 12 // CHECK-NEXT: -123 13 // CHECK-NEXT: -123 14 // CHECK-NEXT: -123 15 // CHECK-NEXT: -123 16 // CHECK-NEXT: 133 17 // CHECK-NEXT: 65413 18 // CHECK-NEXT: 4294967173 19 // CHECK-NEXT: 18446744073709551493 20 // CHECK-NEXT: 123 21 // CHECK-NEXT: 123 22 // CHECK-NEXT: 123 23 // CHECK-NEXT: 123 24 // CHECK-NEXT: 123 25 // CHECK-NEXT: 123 26 // CHECK-NEXT: 123 27 // CHECK-NEXT: 123 28 // CHECK-NEXT: -123 29 // CHECK-NEXT: -123 30 // CHECK-NEXT: -123 31 // CHECK-NEXT: -123 32 // CHECK-NEXT: 133 33 // CHECK-NEXT: 65413 34 // CHECK-NEXT: 4294967173 35 // CHECK-NEXT: 18446744073709551493 36 // CHECK-NEXT: +1.230000e+002 37 // CHECK-NEXT: +1.230000e+002 38 // CHECK-NEXT: +1.230000e+002 39 // CHECK-NEXT: +1.230000e+002 40 // CHECK-NEXT: +1.234500e+004 41 // CHECK-NEXT: +1.234500e+004 42 // CHECK-NEXT: +1.234500e+004 43 // CHECK-NEXT: +1.234500e+004 44 // CHECK-NEXT: +1.234560e+005 45 // CHECK-NEXT: +1.234560e+005 46 // CHECK-NEXT: +1.234560e+005 47 // CHECK-NEXT: +1.234560e+005 48 // CHECK-NEXT: +1.234568e+010 49 // CHECK-NEXT: +1.234568e+010 50 // CHECK-NEXT: +1.234568e+010 51 // CHECK-NEXT: +1.234568e+010 52 53 package main 54 55 func main() { 56 // float to int 57 for _, f32 := range []float32{123.456, -123.456} { 58 println(int8(f32)) 59 println(int16(f32)) 60 println(int32(f32)) 61 println(int64(f32)) 62 println(uint8(f32)) 63 println(uint16(f32)) 64 println(uint32(f32)) 65 println(uint64(f32)) 66 } 67 for _, f64 := range []float64{123.456, -123.456} { 68 println(int8(f64)) 69 println(int16(f64)) 70 println(int32(f64)) 71 println(int64(f64)) 72 println(uint8(f64)) 73 println(uint16(f64)) 74 println(uint32(f64)) 75 println(uint64(f64)) 76 } 77 78 // int to float 79 var i8 int8 = 123 80 println(float32(i8)) 81 println(float64(i8)) 82 var ui8 uint8 = 123 83 println(float32(ui8)) 84 println(float64(ui8)) 85 var i16 int32 = 12345 86 println(float32(i16)) 87 println(float64(i16)) 88 var ui16 uint32 = 12345 89 println(float32(ui16)) 90 println(float64(ui16)) 91 var i32 int32 = 123456 92 println(float32(i32)) 93 println(float64(i32)) 94 var ui32 uint32 = 123456 95 println(float32(ui32)) 96 println(float64(ui32)) 97 var i64 int64 = 12345678910 98 println(float32(i64)) 99 println(float64(i64)) 100 var ui64 uint64 = 12345678910 101 println(float32(ui64)) 102 println(float64(ui64)) 103 }