| /* |
| * Copyright 2016 The Emscripten Authors. All rights reserved. |
| * Emscripten is available under two separate licenses, the MIT license and the |
| * University of Illinois/NCSA Open Source License. Both these licenses can be |
| * found in the LICENSE file. |
| */ |
| |
| #include <math.h> |
| #include <stdio.h> |
| |
| void printCanonicalizedNan(char* name, float value) { |
| if (!isnan(value)) { |
| printf("%s: %f\n", name, value); |
| } else { |
| printf("%s: nan\n", name); |
| } |
| } |
| |
| int main(int argc, const char* argv[]) { |
| float f1 = 1.0f; |
| float f2 = 0.0f; |
| float f_zero = 0.0f; |
| |
| float f3 = 0.0f / f2; |
| float f4 = f2 / 0.0f; |
| float f5 = f2 / f2; |
| float f6 = f2 / f_zero; |
| |
| printCanonicalizedNan("f3", f3); |
| printCanonicalizedNan("f4", f4); |
| printCanonicalizedNan("f5", f5); |
| printCanonicalizedNan("f6", f6); |
| |
| return 0; |
| } |