mirror of
https://github.com/neovim/neovim.git
synced 2025-09-17 00:38:17 +00:00
vim-patch:8.1.1879: more functions can be used as methods
Problem: More functions can be used as methods.
Solution: Make float functions usable as a method.
93cf85f9ef
Fix atan2() doc typo (patch referred to it as atan()).
Adjust Test_fmod() method test to expect "str2float('nan')".
This commit is contained in:
@@ -1060,7 +1060,14 @@ next method: >
|
|||||||
<
|
<
|
||||||
Example of using a lambda: >
|
Example of using a lambda: >
|
||||||
GetPercentage->{x -> x * 100}()->printf('%d%%')
|
GetPercentage->{x -> x * 100}()->printf('%d%%')
|
||||||
|
<
|
||||||
|
When using -> the |expr7| operators will be applied first, thus: >
|
||||||
|
-1.234->string()
|
||||||
|
Is equivalent to: >
|
||||||
|
(-1.234)->string()
|
||||||
|
And NOT: >
|
||||||
|
-(1.234->string())
|
||||||
|
<
|
||||||
*E274*
|
*E274*
|
||||||
"->name(" must not contain white space. There can be white space before the
|
"->name(" must not contain white space. There can be white space before the
|
||||||
"->" and after the "(", thus you can split the lines like this: >
|
"->" and after the "(", thus you can split the lines like this: >
|
||||||
@@ -2609,6 +2616,8 @@ abs({expr}) *abs()*
|
|||||||
echo abs(-4)
|
echo abs(-4)
|
||||||
< 4
|
< 4
|
||||||
|
|
||||||
|
Can also be used as a |method|: >
|
||||||
|
Compute()->abs()
|
||||||
|
|
||||||
acos({expr}) *acos()*
|
acos({expr}) *acos()*
|
||||||
Return the arc cosine of {expr} measured in radians, as a
|
Return the arc cosine of {expr} measured in radians, as a
|
||||||
@@ -2621,6 +2630,8 @@ acos({expr}) *acos()*
|
|||||||
:echo acos(-0.5)
|
:echo acos(-0.5)
|
||||||
< 2.094395
|
< 2.094395
|
||||||
|
|
||||||
|
Can also be used as a |method|: >
|
||||||
|
Compute()->acos()
|
||||||
|
|
||||||
add({list}, {expr}) *add()*
|
add({list}, {expr}) *add()*
|
||||||
Append the item {expr} to |List| {list}. Returns the
|
Append the item {expr} to |List| {list}. Returns the
|
||||||
@@ -2630,10 +2641,10 @@ add({list}, {expr}) *add()*
|
|||||||
< Note that when {expr} is a |List| it is appended as a single
|
< Note that when {expr} is a |List| it is appended as a single
|
||||||
item. Use |extend()| to concatenate |Lists|.
|
item. Use |extend()| to concatenate |Lists|.
|
||||||
Use |insert()| to add an item at another position.
|
Use |insert()| to add an item at another position.
|
||||||
|
|
||||||
Can also be used as a |method|: >
|
Can also be used as a |method|: >
|
||||||
mylist->add(val1)->add(val2)
|
mylist->add(val1)->add(val2)
|
||||||
|
|
||||||
|
|
||||||
and({expr}, {expr}) *and()*
|
and({expr}, {expr}) *and()*
|
||||||
Bitwise AND on the two arguments. The arguments are converted
|
Bitwise AND on the two arguments. The arguments are converted
|
||||||
to a number. A List, Dict or Float argument causes an error.
|
to a number. A List, Dict or Float argument causes an error.
|
||||||
@@ -2735,6 +2746,9 @@ asin({expr}) *asin()*
|
|||||||
:echo asin(-0.5)
|
:echo asin(-0.5)
|
||||||
< -0.523599
|
< -0.523599
|
||||||
|
|
||||||
|
Can also be used as a |method|: >
|
||||||
|
Compute()->asin()
|
||||||
|
|
||||||
|
|
||||||
assert_ functions are documented here: |assert-functions-details|
|
assert_ functions are documented here: |assert-functions-details|
|
||||||
|
|
||||||
@@ -2749,6 +2763,8 @@ atan({expr}) *atan()*
|
|||||||
:echo atan(-4.01)
|
:echo atan(-4.01)
|
||||||
< -1.326405
|
< -1.326405
|
||||||
|
|
||||||
|
Can also be used as a |method|: >
|
||||||
|
Compute()->atan()
|
||||||
|
|
||||||
atan2({expr1}, {expr2}) *atan2()*
|
atan2({expr1}, {expr2}) *atan2()*
|
||||||
Return the arc tangent of {expr1} / {expr2}, measured in
|
Return the arc tangent of {expr1} / {expr2}, measured in
|
||||||
@@ -2760,6 +2776,8 @@ atan2({expr1}, {expr2}) *atan2()*
|
|||||||
:echo atan2(1, -1)
|
:echo atan2(1, -1)
|
||||||
< 2.356194
|
< 2.356194
|
||||||
|
|
||||||
|
Can also be used as a |method|: >
|
||||||
|
Compute()->atan2(1)
|
||||||
|
|
||||||
*browse()*
|
*browse()*
|
||||||
browse({save}, {title}, {initdir}, {default})
|
browse({save}, {title}, {initdir}, {default})
|
||||||
@@ -2966,6 +2984,9 @@ ceil({expr}) *ceil()*
|
|||||||
echo ceil(4.0)
|
echo ceil(4.0)
|
||||||
< 4.0
|
< 4.0
|
||||||
|
|
||||||
|
Can also be used as a |method|: >
|
||||||
|
Compute()->ceil()
|
||||||
|
|
||||||
changenr() *changenr()*
|
changenr() *changenr()*
|
||||||
Return the number of the most recent change. This is the same
|
Return the number of the most recent change. This is the same
|
||||||
number as what is displayed with |:undolist| and can be used
|
number as what is displayed with |:undolist| and can be used
|
||||||
@@ -3261,6 +3282,8 @@ cos({expr}) *cos()*
|
|||||||
:echo cos(-4.01)
|
:echo cos(-4.01)
|
||||||
< -0.646043
|
< -0.646043
|
||||||
|
|
||||||
|
Can also be used as a |method|: >
|
||||||
|
Compute()->cos()
|
||||||
|
|
||||||
cosh({expr}) *cosh()*
|
cosh({expr}) *cosh()*
|
||||||
Return the hyperbolic cosine of {expr} as a |Float| in the range
|
Return the hyperbolic cosine of {expr} as a |Float| in the range
|
||||||
@@ -3272,6 +3295,8 @@ cosh({expr}) *cosh()*
|
|||||||
:echo cosh(-0.5)
|
:echo cosh(-0.5)
|
||||||
< -1.127626
|
< -1.127626
|
||||||
|
|
||||||
|
Can also be used as a |method|: >
|
||||||
|
Compute()->cosh()
|
||||||
|
|
||||||
count({comp}, {expr} [, {ic} [, {start}]]) *count()*
|
count({comp}, {expr} [, {ic} [, {start}]]) *count()*
|
||||||
Return the number of times an item with value {expr} appears
|
Return the number of times an item with value {expr} appears
|
||||||
@@ -3704,6 +3729,9 @@ exp({expr}) *exp()*
|
|||||||
:echo exp(-1)
|
:echo exp(-1)
|
||||||
< 0.367879
|
< 0.367879
|
||||||
|
|
||||||
|
Can also be used as a |method|: >
|
||||||
|
Compute()->exp()
|
||||||
|
|
||||||
debugbreak({pid}) *debugbreak()*
|
debugbreak({pid}) *debugbreak()*
|
||||||
Specifically used to interrupt a program being debugged. It
|
Specifically used to interrupt a program being debugged. It
|
||||||
will cause process {pid} to get a SIGTRAP. Behavior for other
|
will cause process {pid} to get a SIGTRAP. Behavior for other
|
||||||
@@ -4017,6 +4045,8 @@ float2nr({expr}) *float2nr()*
|
|||||||
echo float2nr(1.0e-100)
|
echo float2nr(1.0e-100)
|
||||||
< 0
|
< 0
|
||||||
|
|
||||||
|
Can also be used as a |method|: >
|
||||||
|
Compute()->float2nr()
|
||||||
|
|
||||||
floor({expr}) *floor()*
|
floor({expr}) *floor()*
|
||||||
Return the largest integral value less than or equal to
|
Return the largest integral value less than or equal to
|
||||||
@@ -4030,6 +4060,8 @@ floor({expr}) *floor()*
|
|||||||
echo floor(4.0)
|
echo floor(4.0)
|
||||||
< 4.0
|
< 4.0
|
||||||
|
|
||||||
|
Can also be used as a |method|: >
|
||||||
|
Compute()->floor()
|
||||||
|
|
||||||
fmod({expr1}, {expr2}) *fmod()*
|
fmod({expr1}, {expr2}) *fmod()*
|
||||||
Return the remainder of {expr1} / {expr2}, even if the
|
Return the remainder of {expr1} / {expr2}, even if the
|
||||||
@@ -4045,6 +4077,8 @@ fmod({expr1}, {expr2}) *fmod()*
|
|||||||
:echo fmod(-12.33, 1.22)
|
:echo fmod(-12.33, 1.22)
|
||||||
< -0.13
|
< -0.13
|
||||||
|
|
||||||
|
Can also be used as a |method|: >
|
||||||
|
Compute()->fmod(1.22)
|
||||||
|
|
||||||
fnameescape({string}) *fnameescape()*
|
fnameescape({string}) *fnameescape()*
|
||||||
Escape {string} for use as file name command argument. All
|
Escape {string} for use as file name command argument. All
|
||||||
@@ -5605,6 +5639,9 @@ isinf({expr}) *isinf()*
|
|||||||
:echo isinf(-1.0 / 0.0)
|
:echo isinf(-1.0 / 0.0)
|
||||||
< -1
|
< -1
|
||||||
|
|
||||||
|
Can also be used as a |method|: >
|
||||||
|
Compute()->isinf()
|
||||||
|
|
||||||
islocked({expr}) *islocked()* *E786*
|
islocked({expr}) *islocked()* *E786*
|
||||||
The result is a Number, which is |TRUE| when {expr} is the
|
The result is a Number, which is |TRUE| when {expr} is the
|
||||||
name of a locked variable.
|
name of a locked variable.
|
||||||
@@ -5648,6 +5685,9 @@ isnan({expr}) *isnan()*
|
|||||||
echo isnan(0.0 / 0.0)
|
echo isnan(0.0 / 0.0)
|
||||||
< 1
|
< 1
|
||||||
|
|
||||||
|
Can also be used as a |method|: >
|
||||||
|
Compute()->isnan()
|
||||||
|
|
||||||
jobpid({job}) *jobpid()*
|
jobpid({job}) *jobpid()*
|
||||||
Return the PID (process id) of |job-id| {job}.
|
Return the PID (process id) of |job-id| {job}.
|
||||||
|
|
||||||
@@ -5950,6 +5990,8 @@ log({expr}) *log()*
|
|||||||
:echo log(exp(5))
|
:echo log(exp(5))
|
||||||
< 5.0
|
< 5.0
|
||||||
|
|
||||||
|
Can also be used as a |method|: >
|
||||||
|
Compute()->log()
|
||||||
|
|
||||||
log10({expr}) *log10()*
|
log10({expr}) *log10()*
|
||||||
Return the logarithm of Float {expr} to base 10 as a |Float|.
|
Return the logarithm of Float {expr} to base 10 as a |Float|.
|
||||||
@@ -5960,6 +6002,9 @@ log10({expr}) *log10()*
|
|||||||
:echo log10(0.01)
|
:echo log10(0.01)
|
||||||
< -2.0
|
< -2.0
|
||||||
|
|
||||||
|
Can also be used as a |method|: >
|
||||||
|
Compute()->log10()
|
||||||
|
|
||||||
luaeval({expr}[, {expr}])
|
luaeval({expr}[, {expr}])
|
||||||
Evaluate Lua expression {expr} and return its result converted
|
Evaluate Lua expression {expr} and return its result converted
|
||||||
to Vim data structures. See |lua-eval| for more details.
|
to Vim data structures. See |lua-eval| for more details.
|
||||||
@@ -6637,6 +6682,9 @@ pow({x}, {y}) *pow()*
|
|||||||
:echo pow(32, 0.20)
|
:echo pow(32, 0.20)
|
||||||
< 2.0
|
< 2.0
|
||||||
|
|
||||||
|
Can also be used as a |method|: >
|
||||||
|
Compute()->pow(3)
|
||||||
|
|
||||||
prevnonblank({lnum}) *prevnonblank()*
|
prevnonblank({lnum}) *prevnonblank()*
|
||||||
Return the line number of the first line at or above {lnum}
|
Return the line number of the first line at or above {lnum}
|
||||||
that is not blank. Example: >
|
that is not blank. Example: >
|
||||||
@@ -7234,6 +7282,9 @@ round({expr}) *round()*
|
|||||||
echo round(-4.5)
|
echo round(-4.5)
|
||||||
< -5.0
|
< -5.0
|
||||||
|
|
||||||
|
Can also be used as a |method|: >
|
||||||
|
Compute()->round()
|
||||||
|
|
||||||
rpcnotify({channel}, {event}[, {args}...]) *rpcnotify()*
|
rpcnotify({channel}, {event}[, {args}...]) *rpcnotify()*
|
||||||
Sends {event} to {channel} via |RPC| and returns immediately.
|
Sends {event} to {channel} via |RPC| and returns immediately.
|
||||||
If {channel} is 0, the event is broadcast to all channels.
|
If {channel} is 0, the event is broadcast to all channels.
|
||||||
@@ -8210,6 +8261,8 @@ sin({expr}) *sin()*
|
|||||||
:echo sin(-4.01)
|
:echo sin(-4.01)
|
||||||
< 0.763301
|
< 0.763301
|
||||||
|
|
||||||
|
Can also be used as a |method|: >
|
||||||
|
Compute()->sin()
|
||||||
|
|
||||||
sinh({expr}) *sinh()*
|
sinh({expr}) *sinh()*
|
||||||
Return the hyperbolic sine of {expr} as a |Float| in the range
|
Return the hyperbolic sine of {expr} as a |Float| in the range
|
||||||
@@ -8221,6 +8274,9 @@ sinh({expr}) *sinh()*
|
|||||||
:echo sinh(-0.9)
|
:echo sinh(-0.9)
|
||||||
< -1.026517
|
< -1.026517
|
||||||
|
|
||||||
|
Can also be used as a |method|: >
|
||||||
|
Compute()->sinh()
|
||||||
|
|
||||||
sockconnect({mode}, {address}, {opts}) *sockconnect()*
|
sockconnect({mode}, {address}, {opts}) *sockconnect()*
|
||||||
Connect a socket to an address. If {mode} is "pipe" then
|
Connect a socket to an address. If {mode} is "pipe" then
|
||||||
{address} should be the path of a named pipe. If {mode} is
|
{address} should be the path of a named pipe. If {mode} is
|
||||||
@@ -8410,6 +8466,8 @@ sqrt({expr}) *sqrt()*
|
|||||||
< nan
|
< nan
|
||||||
"nan" may be different, it depends on system libraries.
|
"nan" may be different, it depends on system libraries.
|
||||||
|
|
||||||
|
Can also be used as a |method|: >
|
||||||
|
Compute()->sqrt()
|
||||||
|
|
||||||
stdioopen({opts}) *stdioopen()*
|
stdioopen({opts}) *stdioopen()*
|
||||||
With |--headless| this opens stdin and stdout as a |channel|.
|
With |--headless| this opens stdin and stdout as a |channel|.
|
||||||
@@ -8461,6 +8519,9 @@ str2float({expr}) *str2float()*
|
|||||||
12.0. You can strip out thousands separators with
|
12.0. You can strip out thousands separators with
|
||||||
|substitute()|: >
|
|substitute()|: >
|
||||||
let f = str2float(substitute(text, ',', '', 'g'))
|
let f = str2float(substitute(text, ',', '', 'g'))
|
||||||
|
<
|
||||||
|
Can also be used as a |method|: >
|
||||||
|
let f = text->substitute(',', '', 'g')->str2float()
|
||||||
|
|
||||||
str2list({expr} [, {utf8}]) *str2list()*
|
str2list({expr} [, {utf8}]) *str2list()*
|
||||||
Return a list containing the number values which represent
|
Return a list containing the number values which represent
|
||||||
@@ -9112,6 +9173,8 @@ tan({expr}) *tan()*
|
|||||||
:echo tan(-4.01)
|
:echo tan(-4.01)
|
||||||
< -1.181502
|
< -1.181502
|
||||||
|
|
||||||
|
Can also be used as a |method|: >
|
||||||
|
Compute()->tan()
|
||||||
|
|
||||||
tanh({expr}) *tanh()*
|
tanh({expr}) *tanh()*
|
||||||
Return the hyperbolic tangent of {expr} as a |Float| in the
|
Return the hyperbolic tangent of {expr} as a |Float| in the
|
||||||
@@ -9123,6 +9186,8 @@ tanh({expr}) *tanh()*
|
|||||||
:echo tanh(-1)
|
:echo tanh(-1)
|
||||||
< -0.761594
|
< -0.761594
|
||||||
|
|
||||||
|
Can also be used as a |method|: >
|
||||||
|
Compute()->tanh()
|
||||||
|
|
||||||
*timer_info()*
|
*timer_info()*
|
||||||
timer_info([{id}])
|
timer_info([{id}])
|
||||||
@@ -9249,6 +9314,9 @@ trunc({expr}) *trunc()*
|
|||||||
echo trunc(4.0)
|
echo trunc(4.0)
|
||||||
< 4.0
|
< 4.0
|
||||||
|
|
||||||
|
Can also be used as a |method|: >
|
||||||
|
Compute()->trunc()
|
||||||
|
|
||||||
type({expr}) *type()*
|
type({expr}) *type()*
|
||||||
The result is a Number representing the type of {expr}.
|
The result is a Number representing the type of {expr}.
|
||||||
Instead of using the number directly, it is better to use the
|
Instead of using the number directly, it is better to use the
|
||||||
|
@@ -21,8 +21,8 @@ local LAST = "BASE_LAST"
|
|||||||
|
|
||||||
return {
|
return {
|
||||||
funcs={
|
funcs={
|
||||||
abs={args=1},
|
abs={args=1, base=1},
|
||||||
acos={args=1, func="float_op_wrapper", data="&acos"}, -- WJMc
|
acos={args=1, base=1, func="float_op_wrapper", data="&acos"}, -- WJMc
|
||||||
add={args=2, base=1},
|
add={args=2, base=1},
|
||||||
['and']={args=2},
|
['and']={args=2},
|
||||||
api_info={},
|
api_info={},
|
||||||
@@ -32,7 +32,7 @@ return {
|
|||||||
argidx={},
|
argidx={},
|
||||||
arglistid={args={0, 2}},
|
arglistid={args={0, 2}},
|
||||||
argv={args={0, 2}},
|
argv={args={0, 2}},
|
||||||
asin={args=1, func="float_op_wrapper", data="&asin"}, -- WJMc
|
asin={args=1, base=1, func="float_op_wrapper", data="&asin"}, -- WJMc
|
||||||
assert_beeps={args={1}, base=1},
|
assert_beeps={args={1}, base=1},
|
||||||
assert_equal={args={2, 3}, base=2},
|
assert_equal={args={2, 3}, base=2},
|
||||||
assert_equalfile={args={2, 3}},
|
assert_equalfile={args={2, 3}},
|
||||||
@@ -46,8 +46,8 @@ return {
|
|||||||
assert_notmatch={args={2, 3}, base=2},
|
assert_notmatch={args={2, 3}, base=2},
|
||||||
assert_report={args=1},
|
assert_report={args=1},
|
||||||
assert_true={args={1, 2}, base=1},
|
assert_true={args={1, 2}, base=1},
|
||||||
atan={args=1, func="float_op_wrapper", data="&atan"},
|
atan={args=1, base=1, func="float_op_wrapper", data="&atan"},
|
||||||
atan2={args=2},
|
atan2={args=2, base=1},
|
||||||
browse={args=4},
|
browse={args=4},
|
||||||
browsedir={args=2},
|
browsedir={args=2},
|
||||||
bufadd={args=1},
|
bufadd={args=1},
|
||||||
@@ -66,7 +66,7 @@ return {
|
|||||||
byteidx={args=2},
|
byteidx={args=2},
|
||||||
byteidxcomp={args=2},
|
byteidxcomp={args=2},
|
||||||
call={args={2, 3}},
|
call={args={2, 3}},
|
||||||
ceil={args=1, func="float_op_wrapper", data="&ceil"},
|
ceil={args=1, base=1, func="float_op_wrapper", data="&ceil"},
|
||||||
changenr={},
|
changenr={},
|
||||||
chanclose={args={1, 2}},
|
chanclose={args={1, 2}},
|
||||||
chansend={args=2},
|
chansend={args=2},
|
||||||
@@ -81,8 +81,8 @@ return {
|
|||||||
complete_info={args={0, 1}},
|
complete_info={args={0, 1}},
|
||||||
confirm={args={1, 4}},
|
confirm={args={1, 4}},
|
||||||
copy={args=1, base=1},
|
copy={args=1, base=1},
|
||||||
cos={args=1, func="float_op_wrapper", data="&cos"},
|
cos={args=1, base=1, func="float_op_wrapper", data="&cos"},
|
||||||
cosh={args=1, func="float_op_wrapper", data="&cosh"},
|
cosh={args=1, base=1, func="float_op_wrapper", data="&cosh"},
|
||||||
count={args={2, 4}, base=1},
|
count={args={2, 4}, base=1},
|
||||||
cscope_connection={args={0, 3}},
|
cscope_connection={args={0, 3}},
|
||||||
ctxget={args={0, 1}},
|
ctxget={args={0, 1}},
|
||||||
@@ -109,7 +109,7 @@ return {
|
|||||||
execute={args={1, 2}},
|
execute={args={1, 2}},
|
||||||
exepath={args=1},
|
exepath={args=1},
|
||||||
exists={args=1},
|
exists={args=1},
|
||||||
exp={args=1, func="float_op_wrapper", data="&exp"},
|
exp={args=1, base=1, func="float_op_wrapper", data="&exp"},
|
||||||
expand={args={1, 3}},
|
expand={args={1, 3}},
|
||||||
expandcmd={args=1},
|
expandcmd={args=1},
|
||||||
extend={args={2, 3}, base=1},
|
extend={args={2, 3}, base=1},
|
||||||
@@ -121,9 +121,9 @@ return {
|
|||||||
finddir={args={1, 3}},
|
finddir={args={1, 3}},
|
||||||
findfile={args={1, 3}},
|
findfile={args={1, 3}},
|
||||||
flatten={args={1, 2}},
|
flatten={args={1, 2}},
|
||||||
float2nr={args=1},
|
float2nr={args=1, base=1},
|
||||||
floor={args=1, func="float_op_wrapper", data="&floor"},
|
floor={args=1, base=1, func="float_op_wrapper", data="&floor"},
|
||||||
fmod={args=2},
|
fmod={args=2, base=1},
|
||||||
fnameescape={args=1},
|
fnameescape={args=1},
|
||||||
fnamemodify={args=2},
|
fnamemodify={args=2},
|
||||||
foldclosed={args=1},
|
foldclosed={args=1},
|
||||||
@@ -205,9 +205,9 @@ return {
|
|||||||
interrupt={args=0},
|
interrupt={args=0},
|
||||||
invert={args=1},
|
invert={args=1},
|
||||||
isdirectory={args=1},
|
isdirectory={args=1},
|
||||||
isinf={args=1},
|
isinf={args=1, base=1},
|
||||||
islocked={args=1},
|
islocked={args=1},
|
||||||
isnan={args=1},
|
isnan={args=1, base=1},
|
||||||
id={args=1},
|
id={args=1},
|
||||||
items={args=1, base=1},
|
items={args=1, base=1},
|
||||||
jobclose={args={1, 2}, func="f_chanclose"},
|
jobclose={args={1, 2}, func="f_chanclose"},
|
||||||
@@ -230,8 +230,8 @@ return {
|
|||||||
lispindent={args=1},
|
lispindent={args=1},
|
||||||
list2str={args={1, 2}},
|
list2str={args={1, 2}},
|
||||||
localtime={},
|
localtime={},
|
||||||
log={args=1, func="float_op_wrapper", data="&log"},
|
log={args=1, base=1, func="float_op_wrapper", data="&log"},
|
||||||
log10={args=1, func="float_op_wrapper", data="&log10"},
|
log10={args=1, base=1, func="float_op_wrapper", data="&log10"},
|
||||||
luaeval={args={1, 2}},
|
luaeval={args={1, 2}},
|
||||||
map={args=2, base=1},
|
map={args=2, base=1},
|
||||||
maparg={args={1, 4}},
|
maparg={args={1, 4}},
|
||||||
@@ -256,7 +256,7 @@ return {
|
|||||||
nr2char={args={1, 2}},
|
nr2char={args={1, 2}},
|
||||||
['or']={args=2},
|
['or']={args=2},
|
||||||
pathshorten={args=1},
|
pathshorten={args=1},
|
||||||
pow={args=2},
|
pow={args=2, base=1},
|
||||||
prevnonblank={args=1},
|
prevnonblank={args=1},
|
||||||
printf={args=varargs(1), base=2},
|
printf={args=varargs(1), base=2},
|
||||||
prompt_getprompt={args=1},
|
prompt_getprompt={args=1},
|
||||||
@@ -282,7 +282,7 @@ return {
|
|||||||
['repeat']={args=2, base=1},
|
['repeat']={args=2, base=1},
|
||||||
resolve={args=1},
|
resolve={args=1},
|
||||||
reverse={args=1, base=1},
|
reverse={args=1, base=1},
|
||||||
round={args=1, func="float_op_wrapper", data="&round"},
|
round={args=1, base=1, func="float_op_wrapper", data="&round"},
|
||||||
rpcnotify={args=varargs(2)},
|
rpcnotify={args=varargs(2)},
|
||||||
rpcrequest={args=varargs(2)},
|
rpcrequest={args=varargs(2)},
|
||||||
rpcstart={args={1, 2}},
|
rpcstart={args={1, 2}},
|
||||||
@@ -331,8 +331,8 @@ return {
|
|||||||
sign_unplace={args={1, 2}},
|
sign_unplace={args={1, 2}},
|
||||||
sign_unplacelist={args={1}},
|
sign_unplacelist={args={1}},
|
||||||
simplify={args=1},
|
simplify={args=1},
|
||||||
sin={args=1, func="float_op_wrapper", data="&sin"},
|
sin={args=1, base=1, func="float_op_wrapper", data="&sin"},
|
||||||
sinh={args=1, func="float_op_wrapper", data="&sinh"},
|
sinh={args=1, base=1, func="float_op_wrapper", data="&sinh"},
|
||||||
sockconnect={args={2,3}},
|
sockconnect={args={2,3}},
|
||||||
sort={args={1, 3}, base=1},
|
sort={args={1, 3}, base=1},
|
||||||
soundfold={args=1},
|
soundfold={args=1},
|
||||||
@@ -340,9 +340,9 @@ return {
|
|||||||
spellbadword={args={0, 1}},
|
spellbadword={args={0, 1}},
|
||||||
spellsuggest={args={1, 3}},
|
spellsuggest={args={1, 3}},
|
||||||
split={args={1, 3}, base=1},
|
split={args={1, 3}, base=1},
|
||||||
sqrt={args=1, func="float_op_wrapper", data="&sqrt"},
|
sqrt={args=1, base=1, func="float_op_wrapper", data="&sqrt"},
|
||||||
stdpath={args=1},
|
stdpath={args=1},
|
||||||
str2float={args=1},
|
str2float={args=1, base=1},
|
||||||
str2list={args={1, 2}, base=1},
|
str2list={args={1, 2}, base=1},
|
||||||
str2nr={args={1, 2}},
|
str2nr={args={1, 2}},
|
||||||
strcharpart={args={2, 3}},
|
strcharpart={args={2, 3}},
|
||||||
@@ -374,8 +374,8 @@ return {
|
|||||||
tabpagewinnr={args={1, 2}},
|
tabpagewinnr={args={1, 2}},
|
||||||
tagfiles={},
|
tagfiles={},
|
||||||
taglist={args={1, 2}},
|
taglist={args={1, 2}},
|
||||||
tan={args=1, func="float_op_wrapper", data="&tan"},
|
tan={args=1, base=1, func="float_op_wrapper", data="&tan"},
|
||||||
tanh={args=1, func="float_op_wrapper", data="&tanh"},
|
tanh={args=1, base=1, func="float_op_wrapper", data="&tanh"},
|
||||||
tempname={},
|
tempname={},
|
||||||
termopen={args={1, 2}},
|
termopen={args={1, 2}},
|
||||||
test_garbagecollect_now={},
|
test_garbagecollect_now={},
|
||||||
@@ -389,7 +389,7 @@ return {
|
|||||||
toupper={args=1},
|
toupper={args=1},
|
||||||
tr={args=3},
|
tr={args=3},
|
||||||
trim={args={1,3}},
|
trim={args={1,3}},
|
||||||
trunc={args=1, func="float_op_wrapper", data="&trunc"},
|
trunc={args=1, base=1, func="float_op_wrapper", data="&trunc"},
|
||||||
type={args=1, base=1},
|
type={args=1, base=1},
|
||||||
undofile={args=1},
|
undofile={args=1},
|
||||||
undotree={},
|
undotree={},
|
||||||
|
@@ -7,6 +7,8 @@ end
|
|||||||
func Test_abs()
|
func Test_abs()
|
||||||
call assert_equal('1.23', string(abs(1.23)))
|
call assert_equal('1.23', string(abs(1.23)))
|
||||||
call assert_equal('1.23', string(abs(-1.23)))
|
call assert_equal('1.23', string(abs(-1.23)))
|
||||||
|
eval -1.23->abs()->string()->assert_equal('1.23')
|
||||||
|
|
||||||
call assert_equal('0.0', string(abs(0.0)))
|
call assert_equal('0.0', string(abs(0.0)))
|
||||||
call assert_equal('0.0', string(abs(1.0/(1.0/0.0))))
|
call assert_equal('0.0', string(abs(1.0/(1.0/0.0))))
|
||||||
call assert_equal('0.0', string(abs(-1.0/(1.0/0.0))))
|
call assert_equal('0.0', string(abs(-1.0/(1.0/0.0))))
|
||||||
@@ -22,6 +24,7 @@ endfunc
|
|||||||
func Test_sqrt()
|
func Test_sqrt()
|
||||||
call assert_equal('0.0', string(sqrt(0.0)))
|
call assert_equal('0.0', string(sqrt(0.0)))
|
||||||
call assert_equal('1.414214', string(sqrt(2.0)))
|
call assert_equal('1.414214', string(sqrt(2.0)))
|
||||||
|
eval 2.0->sqrt()->string()->assert_equal('1.414214')
|
||||||
call assert_equal("str2float('inf')", string(sqrt(1.0/0.0)))
|
call assert_equal("str2float('inf')", string(sqrt(1.0/0.0)))
|
||||||
call assert_equal("str2float('nan')", string(sqrt(-1.0)))
|
call assert_equal("str2float('nan')", string(sqrt(-1.0)))
|
||||||
call assert_equal("str2float('nan')", string(sqrt(0.0/0.0)))
|
call assert_equal("str2float('nan')", string(sqrt(0.0/0.0)))
|
||||||
@@ -31,6 +34,7 @@ endfunc
|
|||||||
func Test_log()
|
func Test_log()
|
||||||
call assert_equal('0.0', string(log(1.0)))
|
call assert_equal('0.0', string(log(1.0)))
|
||||||
call assert_equal('-0.693147', string(log(0.5)))
|
call assert_equal('-0.693147', string(log(0.5)))
|
||||||
|
eval 0.5->log()->string()->assert_equal('-0.693147')
|
||||||
call assert_equal("-str2float('inf')", string(log(0.0)))
|
call assert_equal("-str2float('inf')", string(log(0.0)))
|
||||||
call assert_equal("str2float('nan')", string(log(-1.0)))
|
call assert_equal("str2float('nan')", string(log(-1.0)))
|
||||||
call assert_equal("str2float('inf')", string(log(1.0/0.0)))
|
call assert_equal("str2float('inf')", string(log(1.0/0.0)))
|
||||||
@@ -42,6 +46,7 @@ func Test_log10()
|
|||||||
call assert_equal('0.0', string(log10(1.0)))
|
call assert_equal('0.0', string(log10(1.0)))
|
||||||
call assert_equal('2.0', string(log10(100.0)))
|
call assert_equal('2.0', string(log10(100.0)))
|
||||||
call assert_equal('2.079181', string(log10(120.0)))
|
call assert_equal('2.079181', string(log10(120.0)))
|
||||||
|
eval 120.0->log10()->string()->assert_equal('2.079181')
|
||||||
call assert_equal("-str2float('inf')", string(log10(0.0)))
|
call assert_equal("-str2float('inf')", string(log10(0.0)))
|
||||||
call assert_equal("str2float('nan')", string(log10(-1.0)))
|
call assert_equal("str2float('nan')", string(log10(-1.0)))
|
||||||
call assert_equal("str2float('inf')", string(log10(1.0/0.0)))
|
call assert_equal("str2float('inf')", string(log10(1.0/0.0)))
|
||||||
@@ -53,6 +58,7 @@ func Test_exp()
|
|||||||
call assert_equal('1.0', string(exp(0.0)))
|
call assert_equal('1.0', string(exp(0.0)))
|
||||||
call assert_equal('7.389056', string(exp(2.0)))
|
call assert_equal('7.389056', string(exp(2.0)))
|
||||||
call assert_equal('0.367879', string(exp(-1.0)))
|
call assert_equal('0.367879', string(exp(-1.0)))
|
||||||
|
eval -1.0->exp()->string()->assert_equal('0.367879')
|
||||||
call assert_equal("str2float('inf')", string(exp(1.0/0.0)))
|
call assert_equal("str2float('inf')", string(exp(1.0/0.0)))
|
||||||
call assert_equal('0.0', string(exp(-1.0/0.0)))
|
call assert_equal('0.0', string(exp(-1.0/0.0)))
|
||||||
call assert_equal("str2float('nan')", string(exp(0.0/0.0)))
|
call assert_equal("str2float('nan')", string(exp(0.0/0.0)))
|
||||||
@@ -63,6 +69,7 @@ func Test_sin()
|
|||||||
call assert_equal('0.0', string(sin(0.0)))
|
call assert_equal('0.0', string(sin(0.0)))
|
||||||
call assert_equal('0.841471', string(sin(1.0)))
|
call assert_equal('0.841471', string(sin(1.0)))
|
||||||
call assert_equal('-0.479426', string(sin(-0.5)))
|
call assert_equal('-0.479426', string(sin(-0.5)))
|
||||||
|
eval -0.5->sin()->string()->assert_equal('-0.479426')
|
||||||
call assert_equal("str2float('nan')", string(sin(0.0/0.0)))
|
call assert_equal("str2float('nan')", string(sin(0.0/0.0)))
|
||||||
call assert_equal("str2float('nan')", string(sin(1.0/0.0)))
|
call assert_equal("str2float('nan')", string(sin(1.0/0.0)))
|
||||||
call assert_equal('0.0', string(sin(1.0/(1.0/0.0))))
|
call assert_equal('0.0', string(sin(1.0/(1.0/0.0))))
|
||||||
@@ -73,6 +80,8 @@ endfunc
|
|||||||
func Test_asin()
|
func Test_asin()
|
||||||
call assert_equal('0.0', string(asin(0.0)))
|
call assert_equal('0.0', string(asin(0.0)))
|
||||||
call assert_equal('1.570796', string(asin(1.0)))
|
call assert_equal('1.570796', string(asin(1.0)))
|
||||||
|
eval 1.0->asin()->string()->assert_equal('1.570796')
|
||||||
|
|
||||||
call assert_equal('-0.523599', string(asin(-0.5)))
|
call assert_equal('-0.523599', string(asin(-0.5)))
|
||||||
call assert_equal("str2float('nan')", string(asin(1.1)))
|
call assert_equal("str2float('nan')", string(asin(1.1)))
|
||||||
call assert_equal("str2float('nan')", string(asin(1.0/0.0)))
|
call assert_equal("str2float('nan')", string(asin(1.0/0.0)))
|
||||||
@@ -84,6 +93,7 @@ func Test_sinh()
|
|||||||
call assert_equal('0.0', string(sinh(0.0)))
|
call assert_equal('0.0', string(sinh(0.0)))
|
||||||
call assert_equal('0.521095', string(sinh(0.5)))
|
call assert_equal('0.521095', string(sinh(0.5)))
|
||||||
call assert_equal('-1.026517', string(sinh(-0.9)))
|
call assert_equal('-1.026517', string(sinh(-0.9)))
|
||||||
|
eval -0.9->sinh()->string()->assert_equal('-1.026517')
|
||||||
call assert_equal("str2float('inf')", string(sinh(1.0/0.0)))
|
call assert_equal("str2float('inf')", string(sinh(1.0/0.0)))
|
||||||
call assert_equal("-str2float('inf')", string(sinh(-1.0/0.0)))
|
call assert_equal("-str2float('inf')", string(sinh(-1.0/0.0)))
|
||||||
call assert_equal("str2float('nan')", string(sinh(0.0/0.0)))
|
call assert_equal("str2float('nan')", string(sinh(0.0/0.0)))
|
||||||
@@ -94,6 +104,7 @@ func Test_cos()
|
|||||||
call assert_equal('1.0', string(cos(0.0)))
|
call assert_equal('1.0', string(cos(0.0)))
|
||||||
call assert_equal('0.540302', string(cos(1.0)))
|
call assert_equal('0.540302', string(cos(1.0)))
|
||||||
call assert_equal('0.877583', string(cos(-0.5)))
|
call assert_equal('0.877583', string(cos(-0.5)))
|
||||||
|
eval -0.5->cos()->string()->assert_equal('0.877583')
|
||||||
call assert_equal("str2float('nan')", string(cos(0.0/0.0)))
|
call assert_equal("str2float('nan')", string(cos(0.0/0.0)))
|
||||||
call assert_equal("str2float('nan')", string(cos(1.0/0.0)))
|
call assert_equal("str2float('nan')", string(cos(1.0/0.0)))
|
||||||
call assert_fails('call cos("")', 'E808:')
|
call assert_fails('call cos("")', 'E808:')
|
||||||
@@ -103,6 +114,7 @@ func Test_acos()
|
|||||||
call assert_equal('1.570796', string(acos(0.0)))
|
call assert_equal('1.570796', string(acos(0.0)))
|
||||||
call assert_equal('0.0', string(acos(1.0)))
|
call assert_equal('0.0', string(acos(1.0)))
|
||||||
call assert_equal('3.141593', string(acos(-1.0)))
|
call assert_equal('3.141593', string(acos(-1.0)))
|
||||||
|
eval -1.0->acos()->string()->assert_equal('3.141593')
|
||||||
call assert_equal('2.094395', string(acos(-0.5)))
|
call assert_equal('2.094395', string(acos(-0.5)))
|
||||||
call assert_equal("str2float('nan')", string(acos(1.1)))
|
call assert_equal("str2float('nan')", string(acos(1.1)))
|
||||||
call assert_equal("str2float('nan')", string(acos(1.0/0.0)))
|
call assert_equal("str2float('nan')", string(acos(1.0/0.0)))
|
||||||
@@ -113,6 +125,7 @@ endfunc
|
|||||||
func Test_cosh()
|
func Test_cosh()
|
||||||
call assert_equal('1.0', string(cosh(0.0)))
|
call assert_equal('1.0', string(cosh(0.0)))
|
||||||
call assert_equal('1.127626', string(cosh(0.5)))
|
call assert_equal('1.127626', string(cosh(0.5)))
|
||||||
|
eval 0.5->cosh()->string()->assert_equal('1.127626')
|
||||||
call assert_equal("str2float('inf')", string(cosh(1.0/0.0)))
|
call assert_equal("str2float('inf')", string(cosh(1.0/0.0)))
|
||||||
call assert_equal("str2float('inf')", string(cosh(-1.0/0.0)))
|
call assert_equal("str2float('inf')", string(cosh(-1.0/0.0)))
|
||||||
call assert_equal("str2float('nan')", string(cosh(0.0/0.0)))
|
call assert_equal("str2float('nan')", string(cosh(0.0/0.0)))
|
||||||
@@ -123,6 +136,7 @@ func Test_tan()
|
|||||||
call assert_equal('0.0', string(tan(0.0)))
|
call assert_equal('0.0', string(tan(0.0)))
|
||||||
call assert_equal('0.546302', string(tan(0.5)))
|
call assert_equal('0.546302', string(tan(0.5)))
|
||||||
call assert_equal('-0.546302', string(tan(-0.5)))
|
call assert_equal('-0.546302', string(tan(-0.5)))
|
||||||
|
eval -0.5->tan()->string()->assert_equal('-0.546302')
|
||||||
call assert_equal("str2float('nan')", string(tan(1.0/0.0)))
|
call assert_equal("str2float('nan')", string(tan(1.0/0.0)))
|
||||||
call assert_equal("str2float('nan')", string(cos(0.0/0.0)))
|
call assert_equal("str2float('nan')", string(cos(0.0/0.0)))
|
||||||
call assert_equal('0.0', string(tan(1.0/(1.0/0.0))))
|
call assert_equal('0.0', string(tan(1.0/(1.0/0.0))))
|
||||||
@@ -134,6 +148,7 @@ func Test_atan()
|
|||||||
call assert_equal('0.0', string(atan(0.0)))
|
call assert_equal('0.0', string(atan(0.0)))
|
||||||
call assert_equal('0.463648', string(atan(0.5)))
|
call assert_equal('0.463648', string(atan(0.5)))
|
||||||
call assert_equal('-0.785398', string(atan(-1.0)))
|
call assert_equal('-0.785398', string(atan(-1.0)))
|
||||||
|
eval -1.0->atan()->string()->assert_equal('-0.785398')
|
||||||
call assert_equal('1.570796', string(atan(1.0/0.0)))
|
call assert_equal('1.570796', string(atan(1.0/0.0)))
|
||||||
call assert_equal('-1.570796', string(atan(-1.0/0.0)))
|
call assert_equal('-1.570796', string(atan(-1.0/0.0)))
|
||||||
call assert_equal("str2float('nan')", string(atan(0.0/0.0)))
|
call assert_equal("str2float('nan')", string(atan(0.0/0.0)))
|
||||||
@@ -144,6 +159,7 @@ func Test_atan2()
|
|||||||
call assert_equal('-2.356194', string(atan2(-1, -1)))
|
call assert_equal('-2.356194', string(atan2(-1, -1)))
|
||||||
call assert_equal('2.356194', string(atan2(1, -1)))
|
call assert_equal('2.356194', string(atan2(1, -1)))
|
||||||
call assert_equal('0.0', string(atan2(1.0, 1.0/0.0)))
|
call assert_equal('0.0', string(atan2(1.0, 1.0/0.0)))
|
||||||
|
eval 1.0->atan2(1.0/0.0)->string()->assert_equal('0.0')
|
||||||
call assert_equal('1.570796', string(atan2(1.0/0.0, 1.0)))
|
call assert_equal('1.570796', string(atan2(1.0/0.0, 1.0)))
|
||||||
call assert_equal("str2float('nan')", string(atan2(0.0/0.0, 1.0)))
|
call assert_equal("str2float('nan')", string(atan2(0.0/0.0, 1.0)))
|
||||||
call assert_fails('call atan2("", -1)', 'E808:')
|
call assert_fails('call atan2("", -1)', 'E808:')
|
||||||
@@ -154,6 +170,7 @@ func Test_tanh()
|
|||||||
call assert_equal('0.0', string(tanh(0.0)))
|
call assert_equal('0.0', string(tanh(0.0)))
|
||||||
call assert_equal('0.462117', string(tanh(0.5)))
|
call assert_equal('0.462117', string(tanh(0.5)))
|
||||||
call assert_equal('-0.761594', string(tanh(-1.0)))
|
call assert_equal('-0.761594', string(tanh(-1.0)))
|
||||||
|
eval -1.0->tanh()->string()->assert_equal('-0.761594')
|
||||||
call assert_equal('1.0', string(tanh(1.0/0.0)))
|
call assert_equal('1.0', string(tanh(1.0/0.0)))
|
||||||
call assert_equal('-1.0', string(tanh(-1.0/0.0)))
|
call assert_equal('-1.0', string(tanh(-1.0/0.0)))
|
||||||
call assert_equal("str2float('nan')", string(tanh(0.0/0.0)))
|
call assert_equal("str2float('nan')", string(tanh(0.0/0.0)))
|
||||||
@@ -164,6 +181,7 @@ func Test_fmod()
|
|||||||
call assert_equal('0.13', string(fmod(12.33, 1.22)))
|
call assert_equal('0.13', string(fmod(12.33, 1.22)))
|
||||||
call assert_equal('-0.13', string(fmod(-12.33, 1.22)))
|
call assert_equal('-0.13', string(fmod(-12.33, 1.22)))
|
||||||
call assert_equal("str2float('nan')", string(fmod(1.0/0.0, 1.0)))
|
call assert_equal("str2float('nan')", string(fmod(1.0/0.0, 1.0)))
|
||||||
|
eval (1.0/0.0)->fmod(1.0)->string()->assert_equal("str2float('nan')")
|
||||||
" On Windows we get "nan" instead of 1.0, accept both.
|
" On Windows we get "nan" instead of 1.0, accept both.
|
||||||
let res = string(fmod(1.0, 1.0/0.0))
|
let res = string(fmod(1.0, 1.0/0.0))
|
||||||
if res != "str2float('nan')"
|
if res != "str2float('nan')"
|
||||||
@@ -177,6 +195,7 @@ endfunc
|
|||||||
func Test_pow()
|
func Test_pow()
|
||||||
call assert_equal('1.0', string(pow(0.0, 0.0)))
|
call assert_equal('1.0', string(pow(0.0, 0.0)))
|
||||||
call assert_equal('8.0', string(pow(2.0, 3.0)))
|
call assert_equal('8.0', string(pow(2.0, 3.0)))
|
||||||
|
eval 2.0->pow(3.0)->string()->assert_equal('8.0')
|
||||||
call assert_equal("str2float('nan')", string(pow(2.0, 0.0/0.0)))
|
call assert_equal("str2float('nan')", string(pow(2.0, 0.0/0.0)))
|
||||||
call assert_equal("str2float('nan')", string(pow(0.0/0.0, 3.0)))
|
call assert_equal("str2float('nan')", string(pow(0.0/0.0, 3.0)))
|
||||||
call assert_equal("str2float('nan')", string(pow(0.0/0.0, 3.0)))
|
call assert_equal("str2float('nan')", string(pow(0.0/0.0, 3.0)))
|
||||||
@@ -192,6 +211,7 @@ func Test_str2float()
|
|||||||
call assert_equal('1.0', string(str2float(' 1.0 ')))
|
call assert_equal('1.0', string(str2float(' 1.0 ')))
|
||||||
call assert_equal('1.23', string(str2float('1.23')))
|
call assert_equal('1.23', string(str2float('1.23')))
|
||||||
call assert_equal('1.23', string(str2float('1.23abc')))
|
call assert_equal('1.23', string(str2float('1.23abc')))
|
||||||
|
eval '1.23abc'->str2float()->string()->assert_equal('1.23')
|
||||||
call assert_equal('1.0e40', string(str2float('1e40')))
|
call assert_equal('1.0e40', string(str2float('1e40')))
|
||||||
call assert_equal('-1.23', string(str2float('-1.23')))
|
call assert_equal('-1.23', string(str2float('-1.23')))
|
||||||
call assert_equal('1.23', string(str2float(' + 1.23 ')))
|
call assert_equal('1.23', string(str2float(' + 1.23 ')))
|
||||||
@@ -228,6 +248,7 @@ func Test_float2nr()
|
|||||||
call assert_equal(1, float2nr(1.234))
|
call assert_equal(1, float2nr(1.234))
|
||||||
call assert_equal(123, float2nr(1.234e2))
|
call assert_equal(123, float2nr(1.234e2))
|
||||||
call assert_equal(12, float2nr(123.4e-1))
|
call assert_equal(12, float2nr(123.4e-1))
|
||||||
|
eval 123.4e-1->float2nr()->assert_equal(12)
|
||||||
let max_number = 1/0
|
let max_number = 1/0
|
||||||
let min_number = -max_number
|
let min_number = -max_number
|
||||||
call assert_equal(max_number/2+1, float2nr(pow(2, 62)))
|
call assert_equal(max_number/2+1, float2nr(pow(2, 62)))
|
||||||
@@ -242,6 +263,7 @@ func Test_floor()
|
|||||||
call assert_equal('2.0', string(floor(2.0)))
|
call assert_equal('2.0', string(floor(2.0)))
|
||||||
call assert_equal('2.0', string(floor(2.11)))
|
call assert_equal('2.0', string(floor(2.11)))
|
||||||
call assert_equal('2.0', string(floor(2.99)))
|
call assert_equal('2.0', string(floor(2.99)))
|
||||||
|
eval 2.99->floor()->string()->assert_equal('2.0')
|
||||||
call assert_equal('-3.0', string(floor(-2.11)))
|
call assert_equal('-3.0', string(floor(-2.11)))
|
||||||
call assert_equal('-3.0', string(floor(-2.99)))
|
call assert_equal('-3.0', string(floor(-2.99)))
|
||||||
call assert_equal("str2float('nan')", string(floor(0.0/0.0)))
|
call assert_equal("str2float('nan')", string(floor(0.0/0.0)))
|
||||||
@@ -255,6 +277,7 @@ func Test_ceil()
|
|||||||
call assert_equal('3.0', string(ceil(2.11)))
|
call assert_equal('3.0', string(ceil(2.11)))
|
||||||
call assert_equal('3.0', string(ceil(2.99)))
|
call assert_equal('3.0', string(ceil(2.99)))
|
||||||
call assert_equal('-2.0', string(ceil(-2.11)))
|
call assert_equal('-2.0', string(ceil(-2.11)))
|
||||||
|
eval -2.11->ceil()->string()->assert_equal('-2.0')
|
||||||
call assert_equal('-2.0', string(ceil(-2.99)))
|
call assert_equal('-2.0', string(ceil(-2.99)))
|
||||||
call assert_equal("str2float('nan')", string(ceil(0.0/0.0)))
|
call assert_equal("str2float('nan')", string(ceil(0.0/0.0)))
|
||||||
call assert_equal("str2float('inf')", string(ceil(1.0/0.0)))
|
call assert_equal("str2float('inf')", string(ceil(1.0/0.0)))
|
||||||
@@ -266,6 +289,7 @@ func Test_round()
|
|||||||
call assert_equal('2.0', string(round(2.1)))
|
call assert_equal('2.0', string(round(2.1)))
|
||||||
call assert_equal('3.0', string(round(2.5)))
|
call assert_equal('3.0', string(round(2.5)))
|
||||||
call assert_equal('3.0', string(round(2.9)))
|
call assert_equal('3.0', string(round(2.9)))
|
||||||
|
eval 2.9->round()->string()->assert_equal('3.0')
|
||||||
call assert_equal('-2.0', string(round(-2.1)))
|
call assert_equal('-2.0', string(round(-2.1)))
|
||||||
call assert_equal('-3.0', string(round(-2.5)))
|
call assert_equal('-3.0', string(round(-2.5)))
|
||||||
call assert_equal('-3.0', string(round(-2.9)))
|
call assert_equal('-3.0', string(round(-2.9)))
|
||||||
@@ -279,6 +303,7 @@ func Test_trunc()
|
|||||||
call assert_equal('2.0', string(trunc(2.1)))
|
call assert_equal('2.0', string(trunc(2.1)))
|
||||||
call assert_equal('2.0', string(trunc(2.5)))
|
call assert_equal('2.0', string(trunc(2.5)))
|
||||||
call assert_equal('2.0', string(trunc(2.9)))
|
call assert_equal('2.0', string(trunc(2.9)))
|
||||||
|
eval 2.9->trunc()->string()->assert_equal('2.0')
|
||||||
call assert_equal('-2.0', string(trunc(-2.1)))
|
call assert_equal('-2.0', string(trunc(-2.1)))
|
||||||
call assert_equal('-2.0', string(trunc(-2.5)))
|
call assert_equal('-2.0', string(trunc(-2.5)))
|
||||||
call assert_equal('-2.0', string(trunc(-2.9)))
|
call assert_equal('-2.0', string(trunc(-2.9)))
|
||||||
@@ -291,6 +316,7 @@ endfunc
|
|||||||
func Test_isinf()
|
func Test_isinf()
|
||||||
call assert_equal(1, isinf(1.0/0.0))
|
call assert_equal(1, isinf(1.0/0.0))
|
||||||
call assert_equal(-1, isinf(-1.0/0.0))
|
call assert_equal(-1, isinf(-1.0/0.0))
|
||||||
|
eval (-1.0/0.0)->isinf()->assert_equal(-1)
|
||||||
call assert_false(isinf(1.0))
|
call assert_false(isinf(1.0))
|
||||||
call assert_false(isinf(0.0/0.0))
|
call assert_false(isinf(0.0/0.0))
|
||||||
call assert_false(isinf('a'))
|
call assert_false(isinf('a'))
|
||||||
@@ -302,6 +328,7 @@ func Test_isnan()
|
|||||||
call assert_true(isnan(0.0/0.0))
|
call assert_true(isnan(0.0/0.0))
|
||||||
call assert_false(isnan(1.0))
|
call assert_false(isnan(1.0))
|
||||||
call assert_false(isnan(1.0/0.0))
|
call assert_false(isnan(1.0/0.0))
|
||||||
|
eval (1.0/0.0)->isnan()->assert_false()
|
||||||
call assert_false(isnan(-1.0/0.0))
|
call assert_false(isnan(-1.0/0.0))
|
||||||
call assert_false(isnan('a'))
|
call assert_false(isnan('a'))
|
||||||
call assert_false(isnan([]))
|
call assert_false(isnan([]))
|
||||||
|
Reference in New Issue
Block a user