summary refs log tree commit diff stats
path: root/tests/float/tfloat3.nim
diff options
context:
space:
mode:
Diffstat (limited to 'tests/float/tfloat3.nim')
-rw-r--r--tests/float/tfloat3.nim21
1 files changed, 21 insertions, 0 deletions
diff --git a/tests/float/tfloat3.nim b/tests/float/tfloat3.nim
new file mode 100644
index 000000000..215470cfc
--- /dev/null
+++ b/tests/float/tfloat3.nim
@@ -0,0 +1,21 @@
+discard """
+  output: '''
+Nim 3.4368930843, 0.3299290698
+C double: 3.4368930843, 0.3299290698'''
+"""
+
+import math, strutils
+
+{.emit: """
+void printFloats(void) {
+  double y = 1.234567890123456789;
+  printf("C double: %.10f, %.10f\n", exp(y), cos(y));
+}
+""".}
+
+proc c_printf(frmt: cstring) {.importc: "printf", header: "<stdio.h>", varargs.}
+proc printFloats {.importc, nodecl.}
+
+var x: float = 1.234567890123456789
+c_printf("Nim %.10f, %.10f\n", exp(x), cos(x))
+printFloats()