fixed missing subtype.field() bug#7
Conversation
* the bug appeared because field() member functions where missing
in template instantations of copymask, random, gaussian ...
* the fix mostly allows code to be compiled against qdp++, the result should be ok
for scalar and parscalar builds without threading, but I havent
run any tests! For threaded builds, it is at least slower, if not wrong
* I cannot predict the behaviour for jit, parvecscalar, etc builds
additional fixes might be necessary ...
* two issues worth mentioning:
1. it is an architectural choice how threaded RNG is supposed to behave
(same result as non-threaded? how is this supposed to be enforced?)
2. currently "random(ferm[subset])" and "random(ferm,subset)" might
behave differently (same for gaussian)
* I am unsure about the OSubScalar behaviour, is it correct that
this is simply supposed to be OScalar again, with no effective Subset?
|
Is this still an issue in the devel branch? |
|
Commit 36e5dde is already resolved (in |
|
I checked the devel-branch and the LatticeFermion f = zero;
random(f[rb[0]]);does not compile. Using There are therefore have several options:
BTW: in scalar and parscalar arch the argument of |
Generally if there any issues with my changes, I am happy to provide refined fixes
if I get some guidance related to the code design.
in template instantations of copymask, random, gaussian ...
for scalar and parscalar builds without threading, but I havent
run any tests! For threaded builds, it is at least slower, if not wrong
additional fixes might be necessary ...
(same result as non-threaded? how is this supposed to be enforced?)
behave differently (same for gaussian)
this is simply supposed to be OScalar again, with no effective Subset?