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  }