mirror of
https://github.com/Mercury-Language/mercury.git
synced 2026-04-15 09:23:44 +00:00
41 lines
1.3 KiB
Mathematica
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).
|
|
|
|
%---------------------------------------------------------------------------%
|