From 53e3d9e0638d025cd99a65011ff96d5e2680e2ec Mon Sep 17 00:00:00 2001
From: Peter Stephenson
Date: Fri, 9 Jan 2015 22:46:42 +0000
Subject: 34914: explanation of effect of integer promotion
---
ChangeLog | 3 +++
Doc/Zsh/arith.yo | 9 +++++++++
2 files changed, 12 insertions(+)
diff --git a/ChangeLog b/ChangeLog
index b102fd466..89e92bb67 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -13,6 +13,9 @@
2015-01-09 Peter Stephenson
+ * 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.
--
cgit v1.2.3-70-g09d2