aboutsummaryrefslogtreecommitdiffstats
path: root/source/lang/abs.rst
diff options
context:
space:
mode:
Diffstat (limited to 'source/lang/abs.rst')
-rw-r--r--source/lang/abs.rst42
1 files changed, 42 insertions, 0 deletions
diff --git a/source/lang/abs.rst b/source/lang/abs.rst
new file mode 100644
index 0000000..ed95e6f
--- /dev/null
+++ b/source/lang/abs.rst
@@ -0,0 +1,42 @@
+.. _lang-abs:
+
+abs(x)
+======
+
+Description
+-----------
+
+(Macro) computes the absolute value of a number.
+
+Parameters
+----------
+
+**x**: the number.
+
+Returns
+-------
+
+**x**: if **x** is greater than or equal to 0.
+
+**-x**: if **x** is less than 0.
+
+Warning
+-------
+
+Because of the way ``abs()`` is implemented, avoid using other
+functions or causing side effects inside the parentheses, as it may
+lead to incorrect results::
+
+ abs(a++); // avoid this - yields incorrect results
+
+ abs(a); // use this instead -
+ a++; // keep other operations outside abs()
+
+
+Arduino Compatibility
+---------------------
+
+Maple's implementation of ``abs()`` is compatible with Arduino.
+
+
+.. include:: cc-attribution.txt