LibreOffice Module sc (master)  1
op_logical.hxx
Go to the documentation of this file.
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /*
3  * This file is part of the LibreOffice project.
4  *
5  * This Source Code Form is subject to the terms of the Mozilla Public
6  * License, v. 2.0. If a copy of the MPL was not distributed with this
7  * file, You can obtain one at http://mozilla.org/MPL/2.0/.
8  */
9 
10 #ifndef INCLUDED_SC_SOURCE_CORE_OPENCL_OP_LOGICAL_HXX
11 #define INCLUDED_SC_SOURCE_CORE_OPENCL_OP_LOGICAL_HXX
12 
13 #include "opbase.hxx"
14 
15 namespace sc::opencl {
16 
17 class OpAnd: public Normal
18 {
19 public:
20  virtual void GenSlidingWindowFunction(std::stringstream &ss,
21  const std::string &sSymName, SubArguments &vSubArguments) override;
22  virtual std::string BinFuncName() const override { return "And"; }
23  virtual bool canHandleMultiVector() const override { return true; }
24 };
25 
26 class OpOr: public Normal
27 {
28 public:
29  virtual void GenSlidingWindowFunction(std::stringstream &ss,
30  const std::string &sSymName, SubArguments &vSubArguments) override;
31  virtual std::string BinFuncName() const override { return "Or"; }
32  virtual bool canHandleMultiVector() const override { return true; }
33 };
34 class OpNot: public Normal
35 {
36 public:
37  virtual void GenSlidingWindowFunction(std::stringstream &ss,
38  const std::string &sSymName, SubArguments &vSubArguments) override;
39  virtual std::string BinFuncName() const override { return "Not"; }
40 };
41 class OpXor: public Normal
42 {
43 public:
44  virtual void GenSlidingWindowFunction(std::stringstream &ss,
45  const std::string &sSymName, SubArguments &vSubArguments) override;
46  virtual std::string BinFuncName() const override { return "Xor"; }
47  virtual bool canHandleMultiVector() const override { return true; }
48 };
49 class OpIf:public Normal
50 {
51 public:
52  virtual void GenSlidingWindowFunction(std::stringstream &ss,
53  const std::string &sSymName, SubArguments &vSubArguments) override;
54  virtual std::string BinFuncName() const override { return "IF"; }
55 };
56 
57 }
58 
59 #endif
60 
61 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
virtual void GenSlidingWindowFunction(std::stringstream &ss, const std::string &sSymName, SubArguments &vSubArguments) override
Definition: op_logical.cxx:219
virtual std::string BinFuncName() const override
Definition: op_logical.hxx:22
virtual void GenSlidingWindowFunction(std::stringstream &ss, const std::string &sSymName, SubArguments &vSubArguments) override
Definition: op_logical.cxx:18
virtual bool canHandleMultiVector() const override
Definition: op_logical.hxx:23
virtual void GenSlidingWindowFunction(std::stringstream &ss, const std::string &sSymName, SubArguments &vSubArguments) override
Definition: op_logical.cxx:298
virtual std::string BinFuncName() const override
Definition: op_logical.hxx:54
virtual void GenSlidingWindowFunction(std::stringstream &ss, const std::string &sSymName, SubArguments &vSubArguments) override
Definition: op_logical.cxx:103
virtual void GenSlidingWindowFunction(std::stringstream &ss, const std::string &sSymName, SubArguments &vSubArguments) override
Definition: op_logical.cxx:182
virtual bool canHandleMultiVector() const override
Definition: op_logical.hxx:32
std::vector< DynamicKernelArgumentRef > SubArguments
Definition: opbase.hxx:215
Arguments that are actually compile-time constant string Currently, only the hash is passed...
virtual std::string BinFuncName() const override
Definition: op_logical.hxx:46
virtual std::string BinFuncName() const override
Definition: op_logical.hxx:31
virtual std::string BinFuncName() const override
Definition: op_logical.hxx:39
virtual bool canHandleMultiVector() const override
Definition: op_logical.hxx:47