weilewei has quit [Remote host closed the connection]
nikunj97 has quit [Ping timeout: 240 seconds]
<heller1>
K-ballo: that's the plan. Very fresh. Do you not consent?
<heller1>
K-ballo: the plan is also that every contributor can submit expenses (once we have enough funds, of course)
<heller1>
At least in principal...
mcopik has joined #ste||ar
mcopik has quit [Client Quit]
nikunj97 has joined #ste||ar
elfring has joined #ste||ar
hkaiser has joined #ste||ar
nan111 has joined #ste||ar
nikunj has quit [Read error: Connection reset by peer]
nikunj has joined #ste||ar
nikunj has quit [Ping timeout: 240 seconds]
nikunj has joined #ste||ar
nikunj has quit [Ping timeout: 265 seconds]
gonidelis has joined #ste||ar
nikunj has joined #ste||ar
nikunj has quit [Ping timeout: 265 seconds]
nikunj has joined #ste||ar
<gonidelis>
hkaiser rori Just registered into rostam. I have enabled 2-step-verification. Are there any docs where I can get the basics on how rostams works?
nikunj has quit [Ping timeout: 240 seconds]
nikunj has joined #ste||ar
<hkaiser>
gonidelis: Alireza has a bunch of docs somewhere, please ask him
nikunj has quit [Read error: Connection reset by peer]
nikunj has joined #ste||ar
gonidelis has left #ste||ar [#ste||ar]
gonidelis[m] has joined #ste||ar
<zao[m]>
gonidelis: If you've got any silly questions around batch systems and modules, I've got some general competence but no experience with Rostam.
<zao[m]>
Ho ho, my Matrix homeserver has some serious latency to IRC, like 10-15s for a message to propagate. Probably needs a better server than the old netbook I used.
<gonidelis[m]>
zao: oh thank you very much. I have work with clusters before and I know some general info about batch jobs/systems. Just lookin on how to run things on Rostam. Nevertheless, thank you!
<gonidelis[m]>
hkaiser: Should we apply `hpx::traits::is_iterator<FwdIterE>::value` in `HPX_CONCEPT_REQUIRES_()` or is it just what we want to avoid?
<gonidelis[m]>
Does `is_iterator<>` allows Sentinels ?
<gonidelis[m]>
accepts ^^
<hkaiser>
gonidelis[m]: is a sentinel a iterator?
<gonidelis[m]>
hkaiser: Welp, it's just a values so I reckon the answer is no. What condition should be used then...?
<K-ballo>
some sentinels are iterators, but not all
<hkaiser>
K-ballo: when is a sentinel an iterator?
<K-ballo>
a plain old end iterator is a sentinel
<K-ballo>
a sentinel is something you can compare an iterator against
<hkaiser>
hmm, my understanding is that a sentinel is a special value a dereferenced iterator would be compared to
<K-ballo>
dereferenced? no no
<hkaiser>
well it != end is very different from *it != sentinel
<hkaiser>
as an end-condition, that is
<K-ballo>
definitely, but *it != sentinel is not a thing
<hkaiser>
sure, but range.valid() or whatever the incantation is essentially does exactly that
<K-ballo>
uhm, no.. is it ours?
<K-ballo>
the idea of being able to check if a range is valid is.. doubius
<hkaiser>
K-ballo: sure, what I meant is how do you check whether a range(it, sent) is empty
<K-ballo>
it == sent
<K-ballo>
it's not a sentinel *value*
<hkaiser>
a range(it1, it2) is empty if it1 == it2, while a range(it, sent) is empty whenever *it == sent)
<K-ballo>
no, it == sent
<hkaiser>
well, a C-string is represented by the address of its first character and '\0'
<K-ballo>
yes, but 0 is not a sentinel.. it may be a sentinel value
<hkaiser>
ok, so how is it == sent implemented?
<K-ballo>
that's sentinel specific
<K-ballo>
a good old iterator doesn't need to do anything extra, == just works
<K-ballo>
a sentinel for a c_str would implement == to check *it == '\0'
<hkaiser>
right
<hkaiser>
K-ballo: ok, so we need to implement sentinel_for<Iter>
<hkaiser>
or similar
<K-ballo>
that's a concept, an iterator can have infinte sentinels
<K-ballo>
is_sentinel_for<Sentinel, Iter> maybe?
<hkaiser>
I meant we need a trait that allows to checke whether a given S is a valid sentinel for an Itera
<K-ballo>
sentinel_for<Sent, Iter> is what the standard has, sentinel_for<Iter> is the short form in which Sent is deduced
<hkaiser>
nod
<K-ballo>
weakly-equality-comparable-with <S, I>
nikunj97 has quit [Ping timeout: 256 seconds]
<hkaiser>
gonidelis[m]: FWI, see N4861, section 23.3.4.7
<hkaiser>
those might need adaptation and or additions
weilewei has joined #ste||ar
<gonidelis[m]>
hkaiser: copy that!
weilewei has quit [Remote host closed the connection]
Yorlik has quit [Read error: Connection reset by peer]
Yorlik has joined #ste||ar
hkaiser has quit [Read error: Connection reset by peer]
hkaiser has joined #ste||ar
elfring has quit [Quit: Konversation terminated!]
<gonidelis[m]>
hkaiser: So I need to use `sentinel_for` inside `HPX_CONCEPT_REQUIRES_` , is that right?
<hkaiser>
gonidelis[m]: yes, but that trait does not exist yet
<hkaiser>
so if you want to use it you'd have to create it first
<K-ballo>
not very happy with naming a boolean trait "sentinel_for".. do we have a trait for iterators?
<K-ballo>
we have is_iterator and is_range, I'd expect is_sentinel_for
<K-ballo>
interestingly enough, the range machinery understands sentinels but is_range does not support them.. it could make use of an is_sentinel_for
<hkaiser>
K-ballo: yes, I agree
nikunj97 has joined #ste||ar
<gonidelis[m]>
I create a test on tests/regressions. In order to compile the new test do I change the CMake on the same dir or in the correspoding directory on my build_directory?
<K-ballo>
you should create a unit test, not a regression test.. regressions are things that were once working and then broke
<K-ballo>
you shouldn't have cmake list files in your build_directory..
<gonidelis[m]>
K-ballo: Thank you. You mean, like for the majority of software communities or just here in hpx?
<gonidelis[m]>
about regressions ^^
<gonidelis[m]>
K-ballo: indeed. I do not. My mistake
<K-ballo>
you should never ah.. regression means to go back to an earlier state
<K-ballo>
you got better, then you got worse again.. you regressed
<gonidelis[m]>
K-ballo: I spent the last day searching the purpose of having regressions and still coulnd't figure it out. I guess it all comes down to what you just said then ;) . The reason I chose regressions though is that I am changing the begin - end iterator type on the algorithms and hkaiser had made a similar test that lies on regressions. Should I move my own test to unit?
<K-ballo>
a regression test makes sure a regression doesn't resurface again
<gonidelis[m]>
ahhh... nevermind. Just flashed on me that mr.Kaiser told me to put it under /unit/container_algorithms.
<K-ballo>
a regression test would normally be linked to a bug report, etc
<K-ballo>
they are meant real world use cases that led to uncovering bugs
<gonidelis[m]>
K-ballo: yeah I get it. Thank you very much :) . So, when I put the source under /unit/container_algorithms I do update CMakeLists.txt. Then what cmake command do I use and where?
<hkaiser>
just rerun make, it should invoke cmake, if needed