diff options
| author | Michael Holman <michael.holman@microsoft.com> | 2015-06-16 15:40:47 -0700 |
|---|---|---|
| committer | Michael Holman <michael.holman@microsoft.com> | 2015-06-16 15:40:47 -0700 |
| commit | 159dc46418638bdc5f7c1ae60e9fbf2fa5ffeb4a (patch) | |
| tree | 5223ec0e211645b69fbdfdc606591b85f5e8ed39 | |
| parent | b299ab25a2fca6e0612e4bdca186fbc19f9eaf81 (diff) | |
| download | nanowasm-design-159dc46418638bdc5f7c1ae60e9fbf2fa5ffeb4a.tar.gz | |
update conversions to use the type dot
| -rw-r--r-- | AstSemantics.md | 52 |
1 files changed, 26 insertions, 26 deletions
diff --git a/AstSemantics.md b/AstSemantics.md index 3e76298..50bfe02 100644 --- a/AstSemantics.md +++ b/AstSemantics.md @@ -411,31 +411,31 @@ Floating point arithmetic follows the IEEE-754 standard, except that: ## Datatype conversions, truncations, reinterpretations, promotions, and demotions - * `int32_from_int64`: wrap a 64-bit integer to a 32-bit integer - * `int64_from_sint32`: extend a signed 32-bit integer to a 64-bit integer - * `int64_from_uint32`: extend an unsigned 32-bit integer to a 64-bit integer - * `sint32_from_float64`: truncate a 64-bit float to a signed integer - * `sint32_from_float32`: truncate a 32-bit float to a signed integer - * `uint32_from_float64`: truncate a 64-bit float to an unsigned integer - * `uint32_from_float32`: truncate a 32-bit float to an unsigned integer - * `sint64_from_float64`: truncate a 64-bit float to a signed integer - * `sint64_from_float32`: truncate a 32-bit float to a signed integer - * `uint64_from_float64`: truncate a 64-bit float to an unsigned integer - * `uint64_from_float32`: truncate a 32-bit float to an unsigned integer - * `int32_from_float32_bits`: reinterpret the bits of a 32-bit float as a 32-bit integer - * `int64_from_float64_bits`: reinterpret the bits of a 64-bit float as a 64-bit integer - * `float64_from_float32`: promote a 32-bit float to a 64-bit float - * `float64_from_sint32`: convert a signed integer to a 64-bit float - * `float64_from_uint32`: convert an unsigned integer to a 64-bit float - * `float64_from_sint64`: convert a signed integer to a 64-bit float - * `float64_from_uint64`: convert an unsigned integer to a 64-bit float - * `float32_from_float64`: demote a 64-bit float to a 32-bit float - * `float32_from_sint32`: convert a signed integer to a 32-bit float - * `float32_from_uint32`: convert an unsigned integer to a 32-bit float - * `float32_from_sint64`: convert a signed integer to a 32-bit float - * `float32_from_uint64`: convert an unsigned integer to a 32-bit float - * `float32_from_int32_bits`: reinterpret the bits of a 32-bit integer as a 32-bit float - * `float64_from_int64_bits`: reinterpret the bits of a 64-bit integer as a 64-bit float + * `int32.from_int64`: wrap a 64-bit integer to a 32-bit integer + * `int64.from_sint32`: extend a signed 32-bit integer to a 64-bit integer + * `int64.from_uint32`: extend an unsigned 32-bit integer to a 64-bit integer + * `sint32.from_float64`: truncate a 64-bit float to a signed integer + * `sint32.from_float32`: truncate a 32-bit float to a signed integer + * `uint32.from_float64`: truncate a 64-bit float to an unsigned integer + * `uint32.from_float32`: truncate a 32-bit float to an unsigned integer + * `sint64.from_float64`: truncate a 64-bit float to a signed integer + * `sint64.from_float32`: truncate a 32-bit float to a signed integer + * `uint64.from_float64`: truncate a 64-bit float to an unsigned integer + * `uint64.from_float32`: truncate a 32-bit float to an unsigned integer + * `int32.from_float32_bits`: reinterpret the bits of a 32-bit float as a 32-bit integer + * `int64.from_float64_bits`: reinterpret the bits of a 64-bit float as a 64-bit integer + * `float64.from_float32`: promote a 32-bit float to a 64-bit float + * `float64.from_sint32`: convert a signed integer to a 64-bit float + * `float64.from_uint32`: convert an unsigned integer to a 64-bit float + * `float64.from_sint64`: convert a signed integer to a 64-bit float + * `float64.from_uint64`: convert an unsigned integer to a 64-bit float + * `float32.from_float64`: demote a 64-bit float to a 32-bit float + * `float32.from_sint32`: convert a signed integer to a 32-bit float + * `float32.from_uint32`: convert an unsigned integer to a 32-bit float + * `float32.from_sint64`: convert a signed integer to a 32-bit float + * `float32.from_uint64`: convert an unsigned integer to a 32-bit float + * `float32.from_int32_bits`: reinterpret the bits of a 32-bit integer as a 32-bit float + * `float64.from_int64_bits`: reinterpret the bits of a 64-bit integer as a 64-bit float Wrapping and extension of integer values always succeed. Promotion and demotion of floating point values always succeed. @@ -450,6 +450,6 @@ Reinterpretations always succeed. Conversions from integer to floating point always succeed, though they may overflow to infinity or negative infinity as specified by IEEE-754. -Conversion from floating point to integer where IEEE-754 would specify an +Truncation from floating point to integer where IEEE-754 would specify an invalid operation exception (e.g. when the floating point value is NaN or outside the range which rounds to an integer in range) traps. |
