| ... | @@ -439,10 +439,74 @@ extern { | ... | @@ -439,10 +439,74 @@ extern { |
| 439 | } | 439 | } |
| 440 | | 440 | |
| 441 | export fn main(argc : isize, argv : &&u8, env : &&u8) -> i32 { | 441 | export fn main(argc : isize, argv : &&u8, env : &&u8) -> i32 { |
| 442 | printf(c"0=%d\n", 0 as i32); // TODO: more tests | 442 | printf(c"\n"); |
| | 443 | printf(c"0.0: %a\n", |
| | 444 | 0.0 as f64); |
| | 445 | printf(c"0e0: %a\n", |
| | 446 | 0e0 as f64); |
| | 447 | printf(c"0.0e0: %a\n", |
| | 448 | 0.0e0 as f64); |
| | 449 | printf(c"000000000000000000000000000000000000000000000000000000000.0e0: %a\n", |
| | 450 | 000000000000000000000000000000000000000000000000000000000.0e0 as f64); |
| | 451 | printf(c"0.000000000000000000000000000000000000000000000000000000000e0: %a\n", |
| | 452 | 0.000000000000000000000000000000000000000000000000000000000e0 as f64); |
| | 453 | printf(c"0.0e000000000000000000000000000000000000000000000000000000000: %a\n", |
| | 454 | 0.0e000000000000000000000000000000000000000000000000000000000 as f64); |
| | 455 | |
| | 456 | printf(c"\n"); |
| | 457 | |
| | 458 | printf(c"0x1.0: %a\n", |
| | 459 | 0x1.0 as f64); |
| | 460 | printf(c"0x10.0: %a\n", |
| | 461 | 0x10.0 as f64); |
| | 462 | printf(c"0x100.0: %a\n", |
| | 463 | 0x100.0 as f64); |
| | 464 | printf(c"0x103.0: %a\n", |
| | 465 | 0x103.0 as f64); |
| | 466 | printf(c"0x103.7: %a\n", |
| | 467 | 0x103.7 as f64); |
| | 468 | printf(c"0x103.70: %a\n", |
| | 469 | 0x103.70 as f64); |
| | 470 | printf(c"0x103.70p4: %a\n", |
| | 471 | 0x103.70p4 as f64); |
| | 472 | printf(c"0x103.70p5: %a\n", |
| | 473 | 0x103.70p5 as f64); |
| | 474 | printf(c"0x103.70p+5: %a\n", |
| | 475 | 0x103.70p+5 as f64); |
| | 476 | printf(c"0x103.70p-5: %a\n", |
| | 477 | 0x103.70p-5 as f64); |
| | 478 | |
| | 479 | printf(c"\n"); |
| | 480 | |
| | 481 | printf(c"0b10100.00010e0: %a\n", |
| | 482 | 0b10100.00010e0 as f64); |
| | 483 | printf(c"0o10700.00010e0: %a\n", |
| | 484 | 0o10700.00010e0 as f64); |
| | 485 | |
| 443 | return 0; | 486 | return 0; |
| 444 | } | 487 | } |
| 445 | )SOURCE", "0=0\n"); | 488 | )SOURCE", R"OUTPUT( |
| | 489 | 0.0: 0x0p+0 |
| | 490 | 0e0: 0x0p+0 |
| | 491 | 0.0e0: 0x0p+0 |
| | 492 | 000000000000000000000000000000000000000000000000000000000.0e0: 0x0p+0 |
| | 493 | 0.000000000000000000000000000000000000000000000000000000000e0: 0x0p+0 |
| | 494 | 0.0e000000000000000000000000000000000000000000000000000000000: 0x0p+0 |
| | 495 | |
| | 496 | 0x1.0: 0x1p+0 |
| | 497 | 0x10.0: 0x1p+4 |
| | 498 | 0x100.0: 0x1p+8 |
| | 499 | 0x103.0: 0x1.03p+8 |
| | 500 | 0x103.7: 0x1.037p+8 |
| | 501 | 0x103.70: 0x1.037p+8 |
| | 502 | 0x103.70p4: 0x1.037p+12 |
| | 503 | 0x103.70p5: 0x1.037p+13 |
| | 504 | 0x103.70p+5: 0x1.037p+13 |
| | 505 | 0x103.70p-5: 0x1.037p+3 |
| | 506 | |
| | 507 | 0b10100.00010e0: 0x1.41p+4 |
| | 508 | 0o10700.00010e0: 0x1.1c0001p+12 |
| | 509 | )OUTPUT"); |
| 446 | | 510 | |
| 447 | add_simple_case("structs", R"SOURCE( | 511 | add_simple_case("structs", R"SOURCE( |
| 448 | use "std.zig"; | 512 | use "std.zig"; |