Genericized intrin parsing from Ambience
This commit is contained in:
@@ -3,6 +3,7 @@
|
||||
|
||||
#include <cstdint>
|
||||
#include <memory>
|
||||
#include <optional>
|
||||
#include <stdexcept>
|
||||
#include <user/deviceAttachmentSpec.h>
|
||||
|
||||
@@ -34,7 +35,7 @@ struct ParamComparator
|
||||
}
|
||||
};
|
||||
|
||||
inline ParamComparator parsePcloudAmbienceParamComparator(
|
||||
inline std::optional<ParamComparator> parseOptionalPcloudAmbienceParamComparator(
|
||||
const std::shared_ptr<device::DeviceAttachmentSpec>& deviceAttachmentSpec)
|
||||
{
|
||||
const auto& params = deviceAttachmentSpec->qualeIfaceApiParams;
|
||||
@@ -53,24 +54,21 @@ inline ParamComparator parsePcloudAmbienceParamComparator(
|
||||
|
||||
if (gtVal != kParamNotSpecified)
|
||||
{
|
||||
return ParamComparator{
|
||||
return std::optional<ParamComparator>(ParamComparator{
|
||||
.op = OP_CMP_GT,
|
||||
.value = static_cast<uint32_t>(gtVal),
|
||||
};
|
||||
});
|
||||
}
|
||||
|
||||
if (ltVal != kParamNotSpecified)
|
||||
{
|
||||
return ParamComparator{
|
||||
return std::optional<ParamComparator>(ParamComparator{
|
||||
.op = OP_CMP_LT,
|
||||
.value = static_cast<uint32_t>(ltVal),
|
||||
};
|
||||
});
|
||||
}
|
||||
|
||||
return ParamComparator{
|
||||
.op = OP_CMP_LT,
|
||||
.value = 8U,
|
||||
};
|
||||
return std::nullopt;
|
||||
}
|
||||
|
||||
} // namespace stim_buff
|
||||
|
||||
Reference in New Issue
Block a user