Mercurial > repos > tabletprog
changeset 339:74cab9b5f2a4
Added parseFloat64 and parseFloat32 along with a sample that exercises number parsing from a string
author | Michael Pavone <pavone@retrodev.com> |
---|---|
date | Sat, 04 Apr 2015 12:34:43 -0700 |
parents | 1458c069c715 |
children | 7279e21dad68 |
files | modules/string.tp samples/numparse.tp |
diffstat | 2 files changed, 20 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/modules/string.tp Sat Apr 04 11:54:46 2015 -0700 +++ b/modules/string.tp Sat Apr 04 12:34:43 2015 -0700 @@ -145,6 +145,19 @@ } num } + + llMessage: parseFloat64 withVars: { + fret64 <- obj_float64 ptr + } andCode: { + //TODO: This should probably detect non-numeric values and return an option type + fret64 <- make_object: (addr_of: obj_float64_meta) NULL 0 + fret64 num!: (atof: data) + fret64 + } + + parseFloat32 <- { + parseFloat64 f32 + } llMessage: hash withVars: { intret <- (obj_int32 ptr)
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/samples/numparse.tp Sat Apr 04 12:34:43 2015 -0700 @@ -0,0 +1,7 @@ +#{ + main <- { + print: "42: " . ("42" int32) . ", -42: " . ("-42" int32) . "\n" + print: "2147483647: " . ("2147483647" int32) . ", -2147483648: " . ("-2147483648" int32) . "\n" + print: "1.23456789: " . ("1.23456789" parseFloat64) . "\n" + } +}