Search
Tuesday, 19th of February 2019, 20:45:41 UTC
22:30:47
Colleen
kpoeck: drmeister said at 2019.02.18 18:19:36: static-vectors is now supported by clasp - I forked the static-vectors repo at https://github.com/clasp-developers/static-vectors.git
22:31:11
kpoeck
Looking at the reader-errors of clasp I found the following:
22:31:33
kpoeck
(LET ((*READ-BASE* 16)) (with-input-from-string (stream "AAAA.BBB")(read stream))) -> 0.0
22:32:03
kpoeck
While (LET ((*READ-BASE* 16)) (with-input-from-string (stream "AAAA.BBB")(eclector.reader:read stream))) -> AAAA.BBB : internal
22:33:04
kpoeck
clasp obviously interprets A and other letter as a digits if *READ-BASE* allows that
22:33:21
kpoeck
and doesn't change the interpretation when a "." is read
22:34:23
kpoeck
And than strtod("AAAA.BBB", NULL9 returns 0.0
22:35:15
kpoeck
Is there any way to distinguish a 0.0 from a wrong float from strtod("0.0", null)?
22:36:13
kpoeck
If 0.0 as incorrect convernsion is returned, we could try to convert to a symbol
22:37:26
kpoeck
Or we could call eclector from the c++ reader, when its available
22:55:08
kpoeck
To give a first answer to my question
22:55:15
kpoeck
double d = ::strtod(numstr.c_str(), &lastValid);
22:55:22
kpoeck
return DoubleFloat_O::create(d);
22:55:35
kpoeck
double d = ::strtod(numstr.c_str(), &lastValid);
22:56:47
kpoeck
If (lastValid == numstr.c_str()) return create_a_symbol(numstr); else return DoubleFloat_O::create(d);
22:57:23
kpoeck
This is only in 10 places to be changed
22:58:19
kpoeck
create_a_symbol(numstr) left as an example for the reader
23:13:11
drmeister
kpoeck: We are going to switch to the eclector reader at some point sooner rather than later.
23:33:55
kpoeck
So how far is the cst stuff?
23:37:34
kpoeck
(LET ((*READ-BASE* 16)) (with-input-from-string (stream "AAAA.BBB")(read stream))) now returns AAAA.BBB as it should
23:38:34
kpoeck
With the test for (lastValid == numstr.c_str())
23:55:24
drmeister
Good grief! Static vectors are waaaay faster than using cffi
23:56:05
drmeister
1400x for what I'm doing here.
4:41:48
beach
Good morning everyone!
Wednesday, 20th of February 2019, 8:45:41 UTC