2 # Test for output with appropriate precision
4 # Copyright (C) 2015 Free Software Foundation, Inc.
6 # This program is free software: you can redistribute it and/or modify
7 # it under the terms of the GNU General Public License as published by
8 # the Free Software Foundation, either version 3 of the License, or
9 # (at your option) any later version.
11 # This program is distributed in the hope that it will be useful,
12 # but WITHOUT ANY WARRANTY; without even the implied warranty of
13 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 # GNU General Public License for more details.
16 # You should have received a copy of the GNU General Public License
17 # along with this program. If not, see <http://www.gnu.org/licenses/>.
19 .
"${srcdir=.}/tests/init.sh"; path_prepend_ .
/src
22 # Integer only. Before v8.24 these would switch output format
24 seq 999999 inf |
head -n2 > out || fail
=1
25 printf "%s\n" 999999 1000000 > exp || framework_failure_
26 compare exp out || fail
=1
28 # Excercise buffer handling in non floating point output
29 for i
in $
(seq 100); do
30 n1
="$(printf '%*s' $i '' | tr ' ' 9)"
31 n2
="1$(echo $n1 | tr 9 0)"
33 seq $n1 $n2 > out || fail
=1
34 printf "%s\n" "$n1" "$n2" > exp || framework_failure_
35 compare exp out || fail
=1
38 seq 0xF423F 0xF4240 > out || fail
=1
39 printf "%s\n" 999999 1000000 > exp || framework_failure_
40 compare exp out || fail
=1
42 # Ensure consistent precision for inf
43 seq 1 .1 inf |
head -n2 > out || fail
=1
44 printf "%s\n" 1.0 1.1 > exp || framework_failure_
45 compare exp out || fail
=1
47 # Ensure standard output methods with inf start
48 seq inf inf |
head -n2 |
uniq > out || fail
=1
49 test "$(wc -l < out)" = 1 || fail
=1
51 # Ensure auto precision for hex float
52 seq 1 0x1p
-1 2 > out || fail
=1
53 printf "%s\n" 1 1.5 2 > exp || framework_failure_
54 compare exp out || fail
=1
56 # Ensure consistent precision for hex
57 seq 1 .1 0x2 |
head -n2 > out || fail
=1
58 printf "%s\n" 1.0 1.1 > exp || framework_failure_
59 compare exp out || fail
=1