#pragma once #include "op.h" namespace ctranslate2 { namespace ops { class AlibiAdd : public BinaryOp { public: AlibiAdd(const bool use_positive_positions = false); void operator()(const StorageView& input, const StorageView& alibi, StorageView& output) const override; private: template void compute(const StorageView& input, const StorageView& alibi, const dim_t alibi_offset, StorageView& output) const; const bool _use_positive_positions; }; } }