aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJF Bastien <github@jfbastien.com>2015-10-17 11:39:52 -0700
committerJF Bastien <github@jfbastien.com>2015-10-17 11:39:52 -0700
commit86908f89ea254dc22dfb690fc8618eb3ac266b3e (patch)
tree8cf9786b627118ff84515b39d49f34b7df1bb667
parentdf187e148230d3121e5f5f558f7a298bf58c3705 (diff)
parent119d5b3125cd7e20d4ec43c069b234ae0ae9b0b9 (diff)
downloadnanowasm-design-86908f89ea254dc22dfb690fc8618eb3ac266b3e.tar.gz
Merge pull request #410 from WebAssembly/long-double-float128
Make C/C++ long double be float128
-rw-r--r--CAndC++.md11
1 files changed, 11 insertions, 0 deletions
diff --git a/CAndC++.md b/CAndC++.md
index 9429f05..e21309a 100644
--- a/CAndC++.md
+++ b/CAndC++.md
@@ -22,6 +22,17 @@ has an LP64 data model, meaning that `long` and pointer types will be
added in the future to support
[64-bit address spaces](FutureFeatures.md#linear-memory-bigger-than-4-gib).
+`float` and `double` are the IEEE 754-2008 single- and double-precision types,
+which are native in WebAssembly. `long double` is the IEEE 754-2008
+quad-precision type, which is a software-emulated type. WebAssembly does
+not have a builtin quad-precision type. Quad-precision is not part of
+the WebAssembly platform itself. There are no quad-precision operators
+built into WebAssembly. The long double type here is software-emulated
+in library code linked into WebAssembly applications that need it.
+
+For performance and compatibility with other platforms, `float` and
+`double` are recommended for most uses.
+
### Language Support
C and C++ language conformance is largely determined by individual compiler