freenode/#clasp - IRC Chatlog
Search
13:27:59
drmeister
I haven't run the jupyter lab environment with icando-mps - but that's very good news because it means our entire software stack compiles, using the parallel compiler, with icando-mps.
13:29:06
Bike
what's the preferred c++ pattern for "check if a T_sp is a Foo_sp, get that Foo_sp" again? asOrNull or a test or what i don't remember
13:34:24
drmeister
Note - it reduces to a tagged pointer/stamp comparison and the gc::As_unsafe<Foo_sp>(tfoo) is one of them there "zero-cost distractions".
13:36:45
drmeister
I'm running the deploy script using MPS and then I'll try running the jupyterlab environment with icando-mps.
13:37:13
drmeister
It takes about 25 seconds for icando-mps to start up - so my next goal will be save-lisp-and-die.
15:38:22
drmeister
Can you check the C++ standard if there is a way to define empty methods that shut the compiler up if you declare the base methods = 0 ?
15:38:55
drmeister
Declaring a method = 0 means any subclasses MUST implement the method if the object is to be allocated.
15:40:11
Bike
and if there's some C++ way to do it automatically, it would probably just terminate the process because C++ sucks, so i don't wanna do that
16:43:22
Bike
i'm glad there's something for it though, i tried some of the papers on bignum gcd and can't make head nor tail of em
18:57:23
drmeister
On a scale of 0 to 10 where 0 is you haven't started yet and 10 is Bignum_O is fully converted over to this new approach.
18:58:07
Bike
where i have it, the next bignums pretty much work fine on their own, and most of whats left is replacing the original bignums with them
18:58:24
Bike
but this is going to be a slog because (a) a ton of stuff uses mpzs directly and (b) the internal numbers API is a mess
19:04:12
Bike
right now im' trying to do the printing but i don't really understand what bignum_to_string is doing
19:04:56
Bike
i also don't understand why bignum_to_string is written like it can be called from lisp, but takes a StrNs_sp and an mpz_class as arguments
19:06:16
Bike
so printing in mpn is like this: first off you have to put in the minus sign yourself. secondly the string mpn actually gives you is made so that you have to translate it into the actual 0, 1, 2, etc characters
19:10:37
Bike
basically if you have 123 as a bignum, the string will have (char)1, (char)2, and (char)3, rather than the actual 1 2 3 characters
19:11:55
drmeister
Dump it into the string the way bignum_to_string does and then sweep through and add the '0' or 'A'
19:12:49
Bike
i already have hex printing working as a special case, so i'm not worried about the conversion part
19:14:34
Bike
but what i mean is that mpn_get_str will not output a minus sign. i have to put one in myself
19:15:34
drmeister
Yeah - I don't see that in core__bignum_to_string. does mpz_get_str handle that for me?