freenode/#clasp - IRC Chatlog
Search
14:33:49
drmeister
Oh glob - seriously? I defined a struct called size_t_pair with three size_t's in it?
14:34:05
drmeister
Please don't take my keyboard away. I'll try to be a better person going forward.
18:32:39
drmeister
It looks like cando built fine - but there is a problem somewhere. I can't find it right now.
18:34:43
drmeister
Anyway, keep that link and check it a few hours after you push to 'dev' - it automatically builds cando and all of the quicklisp code it depends on everytime you push to 'dev'.
18:38:32
drmeister
I disagree - everything to line 24887 says you did a great job and your bitvector code isn't effing the cando build up.
18:40:46
Bike
i just pushed a commit to cando. just changes get(), which you marked as deprecated, to get_std_string(). It builds for me and it should be fairly brainless but who knows
18:43:47
Bike
do you know what never_invoke_allocator is? there's a function called that in template_SimpleVector and gcalloc.h and i don't see any other references
18:49:04
drmeister
https://github.com/clasp-developers/clasp/blob/dev/include/clasp/core/array.h#L559
18:49:51
drmeister
Try commenting out the code in array.h and gcalloc.h and see if something mysterious blows up.
18:52:42
drmeister
I have a nagging feeling that it's some kind of black magic template f*ckery like that. Maybe I'm wrong...
18:52:46
Bike
to be honest i'm still pretty unclear why we have these fancy template classes which we then have as parents of normal non template classes
18:53:40
Bike
well but we have a ton of code duplication in the array class definitions, is why i don't get it
18:54:48
Bike
i understand having template classes fine, just not what we do, which is template classes on top of non template classes
18:55:37
Bike
like we don't have SimpleVector_O<double>, we have SimpleVector_double_t_O which is a subclass of template_SimpleVector_O<double>
18:55:49
drmeister
You mean ConcreteClassA -> TemplateClassB<whatever> -> ConcreteClassB . inheritance hierarchy?
18:56:46
drmeister
Yeah - it's good stuff. It reduces code duplication. I'll do that 'till the cows come home over duplicating code with small variations.
18:57:46
drmeister
https://github.com/clasp-developers/clasp/blob/dev/include/clasp/core/array_int16.h#L19
18:58:05
Bike
yes but what is the NON template part for, is what Im not getting. can we not template the remainder?
18:58:38
drmeister
Which NON template part - the ConcreteClassB or ConcreteClassA in the above example?
18:59:02
Bike
I don't know which direction the arrow means. I mean the concrete subclass. The SimpleVector_byte16_t_O here.
18:59:36
Bike
for example, the "typedef typename TemplatedBase::leaf_type leaf_type;" line a few lines after that one appears verbatim in the code a dozen times, once for each concrete subclass.
20:53:19
Bike
https://github.com/cando-developers/cando/blob/master/include/cando/chem/energyAtomTable.h#L151-L152 I'm kind of confused by this. in AtomTable_O::initialize, this is set to I think a simple-vector. But in constructFromMolecule, there's a _Residues->vectorPushExtend(res) where res is a uint
20:54:13
Bike
i guess it could work by coincidence but hypothetically a garbage collection could get screwy...
21:37:41
drmeister
https://github.com/cando-developers/cando/blob/dev/src/chem/energyAtomTable.cc#L486
21:56:15
drmeister
::notify Bike - yeah - check the code again - the clang compiler complains if I try to _Residues->vectorPushExtend(1234);
0:03:10
drmeister
Figure 1. (Top) The wire-frame structure of one spiroligomer segment. The asterisks “*” indicate carbon chiral centers that can be programmed to one of two different configurations (S in this model). The “R” indicates a stereocenter with configuration “R”. The functional groups (cyan, magenta, green, blue, yellow clouds) are organized in space by the ladder backbone. (Bottom) One stereocenter is flipped to
0:03:11
drmeister
“S” and the left functional groups (cyan, magenta, green) are held in a different orientation relative to the two right functional groups (blue, yellow). https://usercontent.irccloud-cdn.com/file/kiydllr9/image.png