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 #pragma once
11 
12 #include "opbase.hxx"
13 
14 namespace sc::opencl {
15 
16 class OpAnd: public Normal
17 {
18 public:
19  virtual void GenSlidingWindowFunction(std::stringstream &ss,
20  const std::string &sSymName, SubArguments &vSubArguments) override;
21  virtual std::string BinFuncName() const override { return "And"; }
22  virtual bool canHandleMultiVector() const override { return true; }
23 };
24 
25 class OpOr: public Normal
26 {
27 public:
28  virtual void GenSlidingWindowFunction(std::stringstream &ss,
29  const std::string &sSymName, SubArguments &vSubArguments) override;
30  virtual std::string BinFuncName() const override { return "Or"; }
31  virtual bool canHandleMultiVector() const override { return true; }
32 };
33 class OpNot: public Normal
34 {
35 public:
36  virtual void GenSlidingWindowFunction(std::stringstream &ss,
37  const std::string &sSymName, SubArguments &vSubArguments) override;
38  virtual std::string BinFuncName() const override { return "Not"; }
39 };
40 class OpXor: public Normal
41 {
42 public:
43  virtual void GenSlidingWindowFunction(std::stringstream &ss,
44  const std::string &sSymName, SubArguments &vSubArguments) override;
45  virtual std::string BinFuncName() const override { return "Xor"; }
46  virtual bool canHandleMultiVector() const override { return true; }
47 };
48 class OpIf:public Normal
49 {
50 public:
51  virtual void GenSlidingWindowFunction(std::stringstream &ss,
52  const std::string &sSymName, SubArguments &vSubArguments) override;
53  virtual std::string BinFuncName() const override { return "IF"; }
54 };
55 
56 }
57 
58 /* 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:21
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:22
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:53
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:31
std::vector< DynamicKernelArgumentRef > SubArguments
Definition: opbase.hxx:214
Arguments that are actually compile-time constant string Currently, only the hash is passed...
virtual std::string BinFuncName() const override
Definition: op_logical.hxx:45
virtual std::string BinFuncName() const override
Definition: op_logical.hxx:30
virtual std::string BinFuncName() const override
Definition: op_logical.hxx:38
virtual bool canHandleMultiVector() const override
Definition: op_logical.hxx:46