Files
mercury/tests/string_format/string_format_f.m
Julien Fischer b09f407a1f Update programming style in string format tests.
Document reasons for multiple expected outputs.

tests/string_format/*.m:
     As above.
2020-05-23 15:03:42 +10:00

41 lines
1.3 KiB
Mathematica

%---------------------------------------------------------------------------%
% vim: ts=4 sw=4 et ft=mercury
%---------------------------------------------------------------------------%
%
% Test the f specifier of string.format.
%
%---------------------------------------------------------------------------%
:- module string_format_f.
:- interface.
:- import_module io.
:- pred main(io::di, io::uo) is det.
%---------------------------------------------------------------------------%
:- implementation.
:- import_module float.
:- import_module list.
:- import_module string.
:- import_module string_format_lib.
main(!IO) :-
FormatStrs_f = format_strings("f"),
% We don't test printing max because each different implementation
% of printf prints a different number of significant digits,
% which would require us to have lots of expected output files.
ExtremeFloats = [f(min), f(-min)],
list.foldl(output_list(standard_floats), FormatStrs_f, !IO),
list.foldl(output_list(trailing_zero_floats), FormatStrs_f, !IO),
list.foldl(output_list(rounding_floats), FormatStrs_f, !IO),
list.foldl(output_list(ExtremeFloats), FormatStrs_f, !IO),
list.foldl(output_list(denormal_floats), FormatStrs_f, !IO).
%---------------------------------------------------------------------------%