-
Notifications
You must be signed in to change notification settings - Fork 5
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Some proposed updates / changes to nautilus #76
Conversation
@@ -242,6 +257,11 @@ val<ValueType> inline operator+(val<ValueType>& left, IndexType offset) { | |||
return left + val<size_t>(offset); | |||
} | |||
|
|||
template <is_ptr ValueType, is_integral IndexType> | |||
val<ValueType> inline operator+(val<ValueType>& left, static_val<IndexType> offset) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
do we really need this? could this not be implemented by the cast operator of static_val?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
How would this cast be then reflected in the nautilus code?
nautilus::static_val<uint64_t> minKeyOffset = std::numeric_limits<uint64_t>::max();
for (const auto& field : nautilus::static_iterable(fields))
{
const auto offset = field.fieldOffset;
if (minKeyOffset > offset)
{
minKeyOffset = offset;
}
}
auto castedMemArea = static_cast<nautilus::val<int8_t*>>(entryRef);
/// I want this addition to be of a val<int8_t*> and a constant in the traced/compiled code
auto valueMemArea = castedMemArea + minKeyOffset;
}
8cf9dd0
to
dadfe91
Compare
Also added a missing declaration in nautilus::val<ptr> so that it can be used with tracing enabled and also disabled Signed-off-by: Nils Schubert <nilslpschubert@gmail.com>
Signed-off-by: Nils Schubert <nilslpschubert@gmail.com>
dadfe91
to
705925b
Compare
Signed-off-by: Nils Schubert <nilslpschubert@gmail.com>
705925b
to
ef602ba
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
I am proposing some changes to nautilus that I have come across while implementing a windowed aggregation in NebulaStream.
The first commit is a breaking change and should be part of the main. For the other two commits, they are up to debate IMHO.