diff --git a/exercises/060_floats.zig b/exercises/060_floats.zig index c9d9800..f060810 100644 --- a/exercises/060_floats.zig +++ b/exercises/060_floats.zig @@ -27,10 +27,17 @@ // the types match. Zig does not perform unsafe type coercions // behind your back: // -// var foo: f16 = 5; // NO ERROR +// var foo: f16 = 5; // NO ERROR +// +// A runtime value can coerce to a different type, +// as long as the value is losslessly representable: +// +// var foo: u16 = 5; +// var bar: f16 = foo; // NO ERROR (5 fits in f16) +// +// var foo: u16 = 49876; +// var bar: f16 = foo; // ERROR (49876 not representable in f16) // -// var foo: u16 = 5; // A literal of a different type -// var bar: f16 = foo; // ERROR // // Please fix the two float problems with this program and // display the result as a whole number. diff --git a/patches/patches/060_floats.patch b/patches/patches/060_floats.patch index 4382f70..adba3c4 100644 --- a/patches/patches/060_floats.patch +++ b/patches/patches/060_floats.patch @@ -1,6 +1,6 @@ ---- exercises/060_floats.zig 2026-04-03 14:40:17.582344768 +0200 -+++ answers/060_floats.zig 2026-04-03 14:49:26.997886326 +0200 -@@ -43,7 +43,7 @@ +--- exercises/060_floats.zig 2026-05-02 19:22:46.225370223 +0200 ++++ answers/060_floats.zig 2026-05-02 19:22:47.523142218 +0200 +@@ -50,7 +50,7 @@ // // We'll convert this weight from pounds to metric units at a // conversion of 0.453592 kg to the pound. @@ -9,12 +9,12 @@ // By default, float values are formatted in standard decimal // notation. Experiment with '{d}' and '{d:.3}' to see how -@@ -51,7 +51,7 @@ +@@ -58,7 +58,7 @@ // scientific notation. // NOTE: The weight of the shuttle is a huge number, a scientific notation // may be more appropriate. - print("Shuttle liftoff weight: {d:.0} metric tons\n", .{shuttle_weight / 1e3}); + print("Shuttle liftoff weight: {e:.3} metric tons\n", .{shuttle_weight / 1e3}); } - + // Floating further: