mirror of
https://github.com/vim/vim.git
synced 2025-10-06 05:44:14 -04:00
patch 9.0.0491: no good reason to build without the float feature
Problem: No good reason to build without the float feature. Solution: Remove configure check for float and "#ifdef FEAT_FLOAT".
This commit is contained in:
@@ -77,9 +77,7 @@ func Test_op_falsy()
|
||||
call assert_equal(0z00, 0z00 ?? 456)
|
||||
call assert_equal([1], [1] ?? 456)
|
||||
call assert_equal({'one': 1}, {'one': 1} ?? 456)
|
||||
if has('float')
|
||||
call assert_equal(0.1, 0.1 ?? 456)
|
||||
endif
|
||||
call assert_equal(0.1, 0.1 ?? 456)
|
||||
|
||||
call assert_equal(456, v:false ?? 456)
|
||||
call assert_equal(456, 0 ?? 456)
|
||||
@@ -87,9 +85,7 @@ func Test_op_falsy()
|
||||
call assert_equal(456, 0z ?? 456)
|
||||
call assert_equal(456, [] ?? 456)
|
||||
call assert_equal(456, {} ?? 456)
|
||||
if has('float')
|
||||
call assert_equal(456, 0.0 ?? 456)
|
||||
endif
|
||||
call assert_equal(456, 0.0 ?? 456)
|
||||
END
|
||||
call v9.CheckLegacyAndVim9Success(lines)
|
||||
endfunc
|
||||
@@ -200,10 +196,8 @@ func Test_compare_with_null()
|
||||
call assert_false(s:value == v:null)
|
||||
let s:value = 0
|
||||
call assert_true(s:value == v:null)
|
||||
if has('float')
|
||||
let s:value = 0.0
|
||||
call assert_true(s:value == v:null)
|
||||
endif
|
||||
let s:value = 0.0
|
||||
call assert_true(s:value == v:null)
|
||||
let s:value = ''
|
||||
call assert_false(s:value == v:null)
|
||||
let s:value = 0z
|
||||
@@ -467,116 +461,114 @@ func Test_printf_misc()
|
||||
endfunc
|
||||
|
||||
func Test_printf_float()
|
||||
if has('float')
|
||||
let lines =<< trim END
|
||||
call assert_equal('1.000000', printf('%f', 1))
|
||||
call assert_equal('1.230000', printf('%f', 1.23))
|
||||
call assert_equal('1.230000', printf('%F', 1.23))
|
||||
call assert_equal('9999999.9', printf('%g', 9999999.9))
|
||||
call assert_equal('9999999.9', printf('%G', 9999999.9))
|
||||
call assert_equal('1.00000001e7', printf('%.8g', 10000000.1))
|
||||
call assert_equal('1.00000001E7', printf('%.8G', 10000000.1))
|
||||
call assert_equal('1.230000e+00', printf('%e', 1.23))
|
||||
call assert_equal('1.230000E+00', printf('%E', 1.23))
|
||||
call assert_equal('1.200000e-02', printf('%e', 0.012))
|
||||
call assert_equal('-1.200000e-02', printf('%e', -0.012))
|
||||
call assert_equal('0.33', printf('%.2f', 1.0 / 3.0))
|
||||
call assert_equal(' 0.33', printf('%6.2f', 1.0 / 3.0))
|
||||
call assert_equal(' -0.33', printf('%6.2f', -1.0 / 3.0))
|
||||
call assert_equal('000.33', printf('%06.2f', 1.0 / 3.0))
|
||||
call assert_equal('-00.33', printf('%06.2f', -1.0 / 3.0))
|
||||
call assert_equal('-00.33', printf('%+06.2f', -1.0 / 3.0))
|
||||
call assert_equal('+00.33', printf('%+06.2f', 1.0 / 3.0))
|
||||
call assert_equal(' 00.33', printf('% 06.2f', 1.0 / 3.0))
|
||||
call assert_equal('000.33', printf('%06.2g', 1.0 / 3.0))
|
||||
call assert_equal('-00.33', printf('%06.2g', -1.0 / 3.0))
|
||||
call assert_equal('0.33', printf('%3.2f', 1.0 / 3.0))
|
||||
call assert_equal('003.33e-01', printf('%010.2e', 1.0 / 3.0))
|
||||
call assert_equal(' 03.33e-01', printf('% 010.2e', 1.0 / 3.0))
|
||||
call assert_equal('+03.33e-01', printf('%+010.2e', 1.0 / 3.0))
|
||||
call assert_equal('-03.33e-01', printf('%010.2e', -1.0 / 3.0))
|
||||
let lines =<< trim END
|
||||
call assert_equal('1.000000', printf('%f', 1))
|
||||
call assert_equal('1.230000', printf('%f', 1.23))
|
||||
call assert_equal('1.230000', printf('%F', 1.23))
|
||||
call assert_equal('9999999.9', printf('%g', 9999999.9))
|
||||
call assert_equal('9999999.9', printf('%G', 9999999.9))
|
||||
call assert_equal('1.00000001e7', printf('%.8g', 10000000.1))
|
||||
call assert_equal('1.00000001E7', printf('%.8G', 10000000.1))
|
||||
call assert_equal('1.230000e+00', printf('%e', 1.23))
|
||||
call assert_equal('1.230000E+00', printf('%E', 1.23))
|
||||
call assert_equal('1.200000e-02', printf('%e', 0.012))
|
||||
call assert_equal('-1.200000e-02', printf('%e', -0.012))
|
||||
call assert_equal('0.33', printf('%.2f', 1.0 / 3.0))
|
||||
call assert_equal(' 0.33', printf('%6.2f', 1.0 / 3.0))
|
||||
call assert_equal(' -0.33', printf('%6.2f', -1.0 / 3.0))
|
||||
call assert_equal('000.33', printf('%06.2f', 1.0 / 3.0))
|
||||
call assert_equal('-00.33', printf('%06.2f', -1.0 / 3.0))
|
||||
call assert_equal('-00.33', printf('%+06.2f', -1.0 / 3.0))
|
||||
call assert_equal('+00.33', printf('%+06.2f', 1.0 / 3.0))
|
||||
call assert_equal(' 00.33', printf('% 06.2f', 1.0 / 3.0))
|
||||
call assert_equal('000.33', printf('%06.2g', 1.0 / 3.0))
|
||||
call assert_equal('-00.33', printf('%06.2g', -1.0 / 3.0))
|
||||
call assert_equal('0.33', printf('%3.2f', 1.0 / 3.0))
|
||||
call assert_equal('003.33e-01', printf('%010.2e', 1.0 / 3.0))
|
||||
call assert_equal(' 03.33e-01', printf('% 010.2e', 1.0 / 3.0))
|
||||
call assert_equal('+03.33e-01', printf('%+010.2e', 1.0 / 3.0))
|
||||
call assert_equal('-03.33e-01', printf('%010.2e', -1.0 / 3.0))
|
||||
|
||||
#" When precision is 0, the dot should be omitted.
|
||||
call assert_equal(' 2', printf('%3.f', 7.0 / 3.0))
|
||||
call assert_equal(' 2', printf('%3.g', 7.0 / 3.0))
|
||||
call assert_equal(' 2e+00', printf('%7.e', 7.0 / 3.0))
|
||||
#" When precision is 0, the dot should be omitted.
|
||||
call assert_equal(' 2', printf('%3.f', 7.0 / 3.0))
|
||||
call assert_equal(' 2', printf('%3.g', 7.0 / 3.0))
|
||||
call assert_equal(' 2e+00', printf('%7.e', 7.0 / 3.0))
|
||||
|
||||
#" Float zero can be signed.
|
||||
call assert_equal('+0.000000', printf('%+f', 0.0))
|
||||
call assert_equal('0.000000', printf('%f', 1.0 / (1.0 / 0.0)))
|
||||
call assert_equal('-0.000000', printf('%f', 1.0 / (-1.0 / 0.0)))
|
||||
call assert_equal('0.0', printf('%s', 1.0 / (1.0 / 0.0)))
|
||||
call assert_equal('-0.0', printf('%s', 1.0 / (-1.0 / 0.0)))
|
||||
call assert_equal('0.0', printf('%S', 1.0 / (1.0 / 0.0)))
|
||||
call assert_equal('-0.0', printf('%S', 1.0 / (-1.0 / 0.0)))
|
||||
#" Float zero can be signed.
|
||||
call assert_equal('+0.000000', printf('%+f', 0.0))
|
||||
call assert_equal('0.000000', printf('%f', 1.0 / (1.0 / 0.0)))
|
||||
call assert_equal('-0.000000', printf('%f', 1.0 / (-1.0 / 0.0)))
|
||||
call assert_equal('0.0', printf('%s', 1.0 / (1.0 / 0.0)))
|
||||
call assert_equal('-0.0', printf('%s', 1.0 / (-1.0 / 0.0)))
|
||||
call assert_equal('0.0', printf('%S', 1.0 / (1.0 / 0.0)))
|
||||
call assert_equal('-0.0', printf('%S', 1.0 / (-1.0 / 0.0)))
|
||||
|
||||
#" Float infinity can be signed.
|
||||
call assert_equal('inf', printf('%f', 1.0 / 0.0))
|
||||
call assert_equal('-inf', printf('%f', -1.0 / 0.0))
|
||||
call assert_equal('inf', printf('%g', 1.0 / 0.0))
|
||||
call assert_equal('-inf', printf('%g', -1.0 / 0.0))
|
||||
call assert_equal('inf', printf('%e', 1.0 / 0.0))
|
||||
call assert_equal('-inf', printf('%e', -1.0 / 0.0))
|
||||
call assert_equal('INF', printf('%F', 1.0 / 0.0))
|
||||
call assert_equal('-INF', printf('%F', -1.0 / 0.0))
|
||||
call assert_equal('INF', printf('%E', 1.0 / 0.0))
|
||||
call assert_equal('-INF', printf('%E', -1.0 / 0.0))
|
||||
call assert_equal('INF', printf('%E', 1.0 / 0.0))
|
||||
call assert_equal('-INF', printf('%G', -1.0 / 0.0))
|
||||
call assert_equal('+inf', printf('%+f', 1.0 / 0.0))
|
||||
call assert_equal('-inf', printf('%+f', -1.0 / 0.0))
|
||||
call assert_equal(' inf', printf('% f', 1.0 / 0.0))
|
||||
call assert_equal(' inf', printf('%6f', 1.0 / 0.0))
|
||||
call assert_equal(' -inf', printf('%6f', -1.0 / 0.0))
|
||||
call assert_equal(' inf', printf('%6g', 1.0 / 0.0))
|
||||
call assert_equal(' -inf', printf('%6g', -1.0 / 0.0))
|
||||
call assert_equal(' +inf', printf('%+6f', 1.0 / 0.0))
|
||||
call assert_equal(' inf', printf('% 6f', 1.0 / 0.0))
|
||||
call assert_equal(' +inf', printf('%+06f', 1.0 / 0.0))
|
||||
call assert_equal('inf ', printf('%-6f', 1.0 / 0.0))
|
||||
call assert_equal('-inf ', printf('%-6f', -1.0 / 0.0))
|
||||
call assert_equal('+inf ', printf('%-+6f', 1.0 / 0.0))
|
||||
call assert_equal(' inf ', printf('%- 6f', 1.0 / 0.0))
|
||||
call assert_equal('-INF ', printf('%-6F', -1.0 / 0.0))
|
||||
call assert_equal('+INF ', printf('%-+6F', 1.0 / 0.0))
|
||||
call assert_equal(' INF ', printf('%- 6F', 1.0 / 0.0))
|
||||
call assert_equal('INF ', printf('%-6G', 1.0 / 0.0))
|
||||
call assert_equal('-INF ', printf('%-6G', -1.0 / 0.0))
|
||||
call assert_equal('INF ', printf('%-6E', 1.0 / 0.0))
|
||||
call assert_equal('-INF ', printf('%-6E', -1.0 / 0.0))
|
||||
call assert_equal('inf', printf('%s', 1.0 / 0.0))
|
||||
call assert_equal('-inf', printf('%s', -1.0 / 0.0))
|
||||
#" Float infinity can be signed.
|
||||
call assert_equal('inf', printf('%f', 1.0 / 0.0))
|
||||
call assert_equal('-inf', printf('%f', -1.0 / 0.0))
|
||||
call assert_equal('inf', printf('%g', 1.0 / 0.0))
|
||||
call assert_equal('-inf', printf('%g', -1.0 / 0.0))
|
||||
call assert_equal('inf', printf('%e', 1.0 / 0.0))
|
||||
call assert_equal('-inf', printf('%e', -1.0 / 0.0))
|
||||
call assert_equal('INF', printf('%F', 1.0 / 0.0))
|
||||
call assert_equal('-INF', printf('%F', -1.0 / 0.0))
|
||||
call assert_equal('INF', printf('%E', 1.0 / 0.0))
|
||||
call assert_equal('-INF', printf('%E', -1.0 / 0.0))
|
||||
call assert_equal('INF', printf('%E', 1.0 / 0.0))
|
||||
call assert_equal('-INF', printf('%G', -1.0 / 0.0))
|
||||
call assert_equal('+inf', printf('%+f', 1.0 / 0.0))
|
||||
call assert_equal('-inf', printf('%+f', -1.0 / 0.0))
|
||||
call assert_equal(' inf', printf('% f', 1.0 / 0.0))
|
||||
call assert_equal(' inf', printf('%6f', 1.0 / 0.0))
|
||||
call assert_equal(' -inf', printf('%6f', -1.0 / 0.0))
|
||||
call assert_equal(' inf', printf('%6g', 1.0 / 0.0))
|
||||
call assert_equal(' -inf', printf('%6g', -1.0 / 0.0))
|
||||
call assert_equal(' +inf', printf('%+6f', 1.0 / 0.0))
|
||||
call assert_equal(' inf', printf('% 6f', 1.0 / 0.0))
|
||||
call assert_equal(' +inf', printf('%+06f', 1.0 / 0.0))
|
||||
call assert_equal('inf ', printf('%-6f', 1.0 / 0.0))
|
||||
call assert_equal('-inf ', printf('%-6f', -1.0 / 0.0))
|
||||
call assert_equal('+inf ', printf('%-+6f', 1.0 / 0.0))
|
||||
call assert_equal(' inf ', printf('%- 6f', 1.0 / 0.0))
|
||||
call assert_equal('-INF ', printf('%-6F', -1.0 / 0.0))
|
||||
call assert_equal('+INF ', printf('%-+6F', 1.0 / 0.0))
|
||||
call assert_equal(' INF ', printf('%- 6F', 1.0 / 0.0))
|
||||
call assert_equal('INF ', printf('%-6G', 1.0 / 0.0))
|
||||
call assert_equal('-INF ', printf('%-6G', -1.0 / 0.0))
|
||||
call assert_equal('INF ', printf('%-6E', 1.0 / 0.0))
|
||||
call assert_equal('-INF ', printf('%-6E', -1.0 / 0.0))
|
||||
call assert_equal('inf', printf('%s', 1.0 / 0.0))
|
||||
call assert_equal('-inf', printf('%s', -1.0 / 0.0))
|
||||
|
||||
#" Test special case where max precision is truncated at 340.
|
||||
call assert_equal('1.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000', printf('%.330f', 1.0))
|
||||
call assert_equal('1.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000', printf('%.340f', 1.0))
|
||||
call assert_equal('1.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000', printf('%.350f', 1.0))
|
||||
#" Test special case where max precision is truncated at 340.
|
||||
call assert_equal('1.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000', printf('%.330f', 1.0))
|
||||
call assert_equal('1.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000', printf('%.340f', 1.0))
|
||||
call assert_equal('1.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000', printf('%.350f', 1.0))
|
||||
|
||||
#" Float nan (not a number) has no sign.
|
||||
call assert_equal('nan', printf('%f', sqrt(-1.0)))
|
||||
call assert_equal('nan', printf('%f', 0.0 / 0.0))
|
||||
call assert_equal('nan', printf('%f', -0.0 / 0.0))
|
||||
call assert_equal('nan', printf('%g', 0.0 / 0.0))
|
||||
call assert_equal('nan', printf('%e', 0.0 / 0.0))
|
||||
call assert_equal('NAN', printf('%F', 0.0 / 0.0))
|
||||
call assert_equal('NAN', printf('%G', 0.0 / 0.0))
|
||||
call assert_equal('NAN', printf('%E', 0.0 / 0.0))
|
||||
call assert_equal('NAN', printf('%F', -0.0 / 0.0))
|
||||
call assert_equal('NAN', printf('%G', -0.0 / 0.0))
|
||||
call assert_equal('NAN', printf('%E', -0.0 / 0.0))
|
||||
call assert_equal(' nan', printf('%6f', 0.0 / 0.0))
|
||||
call assert_equal(' nan', printf('%06f', 0.0 / 0.0))
|
||||
call assert_equal('nan ', printf('%-6f', 0.0 / 0.0))
|
||||
call assert_equal('nan ', printf('%- 6f', 0.0 / 0.0))
|
||||
call assert_equal('nan', printf('%s', 0.0 / 0.0))
|
||||
call assert_equal('nan', printf('%s', -0.0 / 0.0))
|
||||
call assert_equal('nan', printf('%S', 0.0 / 0.0))
|
||||
call assert_equal('nan', printf('%S', -0.0 / 0.0))
|
||||
END
|
||||
call v9.CheckLegacyAndVim9Success(lines)
|
||||
#" Float nan (not a number) has no sign.
|
||||
call assert_equal('nan', printf('%f', sqrt(-1.0)))
|
||||
call assert_equal('nan', printf('%f', 0.0 / 0.0))
|
||||
call assert_equal('nan', printf('%f', -0.0 / 0.0))
|
||||
call assert_equal('nan', printf('%g', 0.0 / 0.0))
|
||||
call assert_equal('nan', printf('%e', 0.0 / 0.0))
|
||||
call assert_equal('NAN', printf('%F', 0.0 / 0.0))
|
||||
call assert_equal('NAN', printf('%G', 0.0 / 0.0))
|
||||
call assert_equal('NAN', printf('%E', 0.0 / 0.0))
|
||||
call assert_equal('NAN', printf('%F', -0.0 / 0.0))
|
||||
call assert_equal('NAN', printf('%G', -0.0 / 0.0))
|
||||
call assert_equal('NAN', printf('%E', -0.0 / 0.0))
|
||||
call assert_equal(' nan', printf('%6f', 0.0 / 0.0))
|
||||
call assert_equal(' nan', printf('%06f', 0.0 / 0.0))
|
||||
call assert_equal('nan ', printf('%-6f', 0.0 / 0.0))
|
||||
call assert_equal('nan ', printf('%- 6f', 0.0 / 0.0))
|
||||
call assert_equal('nan', printf('%s', 0.0 / 0.0))
|
||||
call assert_equal('nan', printf('%s', -0.0 / 0.0))
|
||||
call assert_equal('nan', printf('%S', 0.0 / 0.0))
|
||||
call assert_equal('nan', printf('%S', -0.0 / 0.0))
|
||||
END
|
||||
call v9.CheckLegacyAndVim9Success(lines)
|
||||
|
||||
call v9.CheckLegacyAndVim9Failure(['echo printf("%f", "a")'], 'E807:')
|
||||
endif
|
||||
call v9.CheckLegacyAndVim9Failure(['echo printf("%f", "a")'], 'E807:')
|
||||
endfunc
|
||||
|
||||
func Test_printf_errors()
|
||||
@@ -585,10 +577,8 @@ func Test_printf_errors()
|
||||
call v9.CheckLegacyAndVim9Failure(['echo printf("%d", 1, 2)'], 'E767:')
|
||||
call v9.CheckLegacyAndVim9Failure(['echo printf("%*d", 1)'], 'E766:')
|
||||
call v9.CheckLegacyAndVim9Failure(['echo printf("%s")'], 'E766:')
|
||||
if has('float')
|
||||
call v9.CheckLegacyAndVim9Failure(['echo printf("%d", 1.2)'], 'E805:')
|
||||
call v9.CheckLegacyAndVim9Failure(['echo printf("%f")'], 'E766:')
|
||||
endif
|
||||
call v9.CheckLegacyAndVim9Failure(['echo printf("%d", 1.2)'], 'E805:')
|
||||
call v9.CheckLegacyAndVim9Failure(['echo printf("%f")'], 'E766:')
|
||||
endfunc
|
||||
|
||||
func Test_printf_64bit()
|
||||
@@ -607,9 +597,7 @@ func Test_printf_spec_s()
|
||||
call assert_equal("abcdefgi", printf('%s', "abcdefgi"))
|
||||
|
||||
#" float
|
||||
if has('float')
|
||||
call assert_equal("1.23", printf('%s', 1.23))
|
||||
endif
|
||||
call assert_equal("1.23", printf('%s', 1.23))
|
||||
|
||||
#" list
|
||||
VAR lvalue = [1, 'two', ['three', 4]]
|
||||
@@ -878,8 +866,6 @@ endfunc
|
||||
|
||||
" Test for float value comparison
|
||||
func Test_float_compare()
|
||||
CheckFeature float
|
||||
|
||||
let lines =<< trim END
|
||||
call assert_true(1.2 == 1.2)
|
||||
call assert_true(1.0 != 1.2)
|
||||
|
Reference in New Issue
Block a user