diff options
-rw-r--r-- | ChangeLog | 3 | ||||
-rw-r--r-- | Doc/Zsh/arith.yo | 9 |
2 files changed, 12 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog index b102fd466..89e92bb67 100644 --- a/ChangeLog +++ b/ChangeLog @@ -13,6 +13,9 @@ 2015-01-09 Peter Stephenson <p.w.stephenson@ntlworld.com> + * 34194: Doc/Zsh/arith.yo: add paragraph about integer + promotion. + * 34189: Src/Zle/compcore.c, Src/Zle/compctl.c, Src/Zle/textobjects.c, Src/Zle/zle_tricky.c, Src/builtin.c, Src/context.c, Src/exec.c, Src/hist.c, Src/init.c, Src/lex.c, diff --git a/Doc/Zsh/arith.yo b/Doc/Zsh/arith.yo index a620b73d1..5c334ce9c 100644 --- a/Doc/Zsh/arith.yo +++ b/Doc/Zsh/arith.yo @@ -233,6 +233,15 @@ necessary. In addition, if any operator which requires an integer equivalents with assignment) is given a floating point argument, it will be silently rounded down to the next integer. +Users should beware that, in common with many other programming +languages but not software designed for calculation, the evaluation of +an expression in zsh is taken a term at a time and promotion of integers +to floating point does not occur in terms only containing integers. A +typical result of this is that a division such as tt(6/8) is truncated, +in this being rounded down to 0. The tt(FORCE_FLOAT) shell option can +be used in scripts or functions where floating point evaluation is +required throughout. + Scalar variables can hold integer or floating point values at different times; there is no memory of the numeric type in this case. |