summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog3
-rw-r--r--Doc/Zsh/arith.yo9
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.