// // MetalBinary.hpp // MNN // // Created by MNN on 2019/01/30. // Copyright © 2018, Alibaba Group Holding Limited // #ifndef MetalBinary_hpp #define MetalBinary_hpp #import "MetalCast.hpp" #include #if MNN_METAL_ENABLED namespace MNN { class MetalBinary : public MetalExecution { public: MetalBinary(Backend *backend, id pipeline, id planePipeline); virtual ~MetalBinary() = default; virtual void onEncode(const std::vector &inputs, const std::vector &outputs, id encoder) override; virtual ErrorCode onResize(const std::vector &inputs, const std::vector &outputs) override; static NSString* convert(int originOp, bool inputFloat); private: id mConstBuffer; id mPipeline; id mPlanePipeline; std::pair mThreads; bool mUsePlane; }; } // namespace MNN #endif /* MNN_METAL_ENABLED */ #endif /* MetalBinary_hpp */