freenode/#clasp - IRC Chatlog
Search
12:39:58
drmeister
A very good, busy day. We made it into the next (last?) stage of competition for an important DOD project.
13:39:42
drmeister
ACTION is so deep in the rabbit hole that he's planning what carrot canapes to serve when he next hosts bridge night with his rabbity friends.
14:24:43
Bike
so the problem with this mask thing is that we're working with three arrays at once (the result and two inputs), and we need to do the same number of iterations for all them
14:25:15
Bike
and i just checked and sbcl just does it slowly, bit by bit, in the case of the start being nonzero, which is the only case this is needed for
14:26:30
Bike
It's needed if the end doesn't align with a word boundary AND we actually care about what's beyond the end, which can happen with displaced arrays only
14:26:43
Bike
if they're just simple bit vectors there's no harm in ANDing the noise at the end together
14:27:24
drmeister
Currently (defparameter *foo* (make-array 127 :element-type 'bit :initial-element 1)) (core:popcount *foo*) -> 128
14:40:40
Bike
well here's a stupid problem, there's a different popcount intrinsic for int and long and long long, but Fixnum is a int64_t and who knows what it is
14:53:06
Bike
it's actually byte32_t (aka uint32_t)... and i can look at the defs and see it's unsigned int... but when i've tried this sort of thing before it's been different on linux
15:26:04
Bike
i think it's fine. it's like twenty lines. works on longer vectors too and i don't see any noise.