Line data Source code
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 SC_OPENCL_OP_MATH_HXX
11 : #define SC_OPENCL_OP_MATH_HXX
12 :
13 : #include "opbase.hxx"
14 :
15 : namespace sc { namespace opencl {
16 :
17 0 : class OpCos: public Normal
18 : {
19 : public:
20 : virtual void GenSlidingWindowFunction(std::stringstream &ss,
21 : const std::string &sSymName, SubArguments &vSubArguments) SAL_OVERRIDE;
22 :
23 0 : virtual std::string BinFuncName(void) const SAL_OVERRIDE { return "Cos"; }
24 : };
25 0 : class OpSec: public Normal
26 : {
27 : public:
28 : virtual void GenSlidingWindowFunction(std::stringstream &ss,
29 : const std::string &sSymName, SubArguments &vSubArguments) SAL_OVERRIDE;
30 :
31 0 : virtual std::string BinFuncName(void) const SAL_OVERRIDE { return "Sec"; }
32 : };
33 0 : class OpSecH: public Normal
34 : {
35 : public:
36 : virtual void GenSlidingWindowFunction(std::stringstream &ss,
37 : const std::string &sSymName, SubArguments &vSubArguments) SAL_OVERRIDE;
38 :
39 0 : virtual std::string BinFuncName(void) const SAL_OVERRIDE { return "SecH"; }
40 : };
41 0 : class OpMROUND: public Normal
42 : {
43 : public:
44 : virtual void GenSlidingWindowFunction(std::stringstream &ss,
45 : const std::string &sSymName, SubArguments &vSubArguments) SAL_OVERRIDE;
46 :
47 0 : virtual std::string BinFuncName(void) const SAL_OVERRIDE { return "MROUND"; }
48 : };
49 :
50 :
51 0 : class OpCsc: public Normal
52 : {
53 : public:
54 : virtual void GenSlidingWindowFunction(std::stringstream &ss,
55 : const std::string &sSymName, SubArguments &vSubArguments) SAL_OVERRIDE;
56 0 : virtual std::string BinFuncName(void) const SAL_OVERRIDE { return "Csc"; }
57 : };
58 0 : class OpSumIfs: public CheckVariables
59 : {
60 : public:
61 0 : OpSumIfs(void): CheckVariables(), mNeedReductionKernel(false) {}
62 : virtual void GenSlidingWindowFunction(std::stringstream &ss,
63 : const std::string &sSymName, SubArguments &vSubArguments) SAL_OVERRIDE;
64 0 : virtual std::string BinFuncName(void) const SAL_OVERRIDE { return "SumIfs"; }
65 0 : bool NeedReductionKernel(void) const { return mNeedReductionKernel; }
66 : protected:
67 : bool mNeedReductionKernel;
68 : };
69 0 : class OpCosh: public Normal
70 : {
71 : public:
72 : virtual void GenSlidingWindowFunction(std::stringstream &ss,
73 : const std::string &sSymName, SubArguments &vSubArguments) SAL_OVERRIDE;
74 : virtual void BinInlineFun(std::set<std::string>& ,std::set<std::string>& ) SAL_OVERRIDE;
75 0 : virtual std::string BinFuncName(void) const SAL_OVERRIDE { return "Cosh"; }
76 : };
77 0 : class OpSinh: public Normal
78 : {
79 : public:
80 : virtual void GenSlidingWindowFunction(std::stringstream &ss,
81 : const std::string &sSymName, SubArguments &vSubArguments) SAL_OVERRIDE;
82 0 : virtual std::string BinFuncName(void) const SAL_OVERRIDE { return "Sinh"; }
83 : };
84 0 : class OpSin: public Normal
85 : {
86 : public:
87 : virtual void GenSlidingWindowFunction(std::stringstream &ss,
88 : const std::string &sSymName, SubArguments &vSubArguments) SAL_OVERRIDE;
89 0 : virtual std::string BinFuncName(void) const SAL_OVERRIDE { return "Sin"; }
90 : };
91 0 : class OpAbs:public Normal{
92 : public:
93 : virtual void GenSlidingWindowFunction(std::stringstream &ss,
94 : const std::string &sSymName, SubArguments &vSubArguments) SAL_OVERRIDE;
95 0 : virtual std::string GetBottom(void) SAL_OVERRIDE { return "0.0"; }
96 0 : virtual std::string BinFuncName(void) const SAL_OVERRIDE { return "ScAbs"; }
97 : };
98 0 : class OpArcCos:public Normal{
99 : public:
100 : virtual void GenSlidingWindowFunction(std::stringstream &ss,
101 : const std::string &sSymName, SubArguments &vSubArguments) SAL_OVERRIDE;
102 0 : virtual std::string GetBottom(void) SAL_OVERRIDE { return "0.0"; }
103 0 : virtual std::string BinFuncName(void) const SAL_OVERRIDE { return "ScACos"; }
104 : virtual void BinInlineFun(std::set<std::string>& ,std::set<std::string>&) SAL_OVERRIDE;
105 : };
106 0 : class OpArcCosHyp:public Normal{
107 : public:
108 : virtual void GenSlidingWindowFunction(std::stringstream &ss,
109 : const std::string &sSymName, SubArguments &vSubArguments) SAL_OVERRIDE;
110 0 : virtual std::string GetBottom(void) SAL_OVERRIDE { return "1.0"; }
111 0 : virtual std::string BinFuncName(void) const SAL_OVERRIDE { return "ScACosH"; }
112 : };
113 0 : class OpTan: public Normal
114 : {
115 : public:
116 : virtual void GenSlidingWindowFunction(std::stringstream &ss,
117 : const std::string &sSymName, SubArguments &vSubArguments) SAL_OVERRIDE;
118 :
119 0 : virtual std::string BinFuncName(void) const SAL_OVERRIDE { return "Tan"; }
120 : };
121 0 : class OpTanH: public Normal
122 : {
123 : public:
124 : virtual void GenSlidingWindowFunction(std::stringstream &ss,
125 : const std::string &sSymName, SubArguments &vSubArguments) SAL_OVERRIDE;
126 :
127 0 : virtual std::string BinFuncName(void) const SAL_OVERRIDE { return "TanH"; }
128 : };
129 0 : class OpSqrt: public Normal
130 : {
131 : public:
132 : virtual void GenSlidingWindowFunction(std::stringstream &ss,
133 : const std::string &sSymName, SubArguments &vSubArguments) SAL_OVERRIDE;
134 :
135 0 : virtual std::string BinFuncName(void) const SAL_OVERRIDE { return "Sqrt"; }
136 : };
137 0 : class OpArcCot:public Normal{
138 : public:
139 : virtual void GenSlidingWindowFunction(std::stringstream &ss,
140 : const std::string &sSymName, SubArguments &vSubArguments) SAL_OVERRIDE;
141 0 : virtual std::string GetBottom(void) SAL_OVERRIDE { return "0.0"; }
142 0 : virtual std::string BinFuncName(void) const SAL_OVERRIDE { return "ScACot"; }
143 : };
144 0 : class OpArcCotHyp:public Normal{
145 : public:
146 : virtual void GenSlidingWindowFunction(std::stringstream &ss,
147 : const std::string &sSymName, SubArguments &vSubArguments) SAL_OVERRIDE;
148 0 : virtual std::string GetBottom(void) SAL_OVERRIDE { return "2.0"; }
149 0 : virtual std::string BinFuncName(void) const SAL_OVERRIDE { return "ScACotH"; }
150 : };
151 0 : class OpArcSin:public Normal{
152 : public:
153 : virtual void GenSlidingWindowFunction(std::stringstream &ss,
154 : const std::string &sSymName, SubArguments &vSubArguments) SAL_OVERRIDE;
155 0 : virtual std::string GetBottom(void) SAL_OVERRIDE { return "0.0"; }
156 0 : virtual std::string BinFuncName(void) const SAL_OVERRIDE { return "ScASin"; }
157 : virtual void BinInlineFun(std::set<std::string>& ,std::set<std::string>&) SAL_OVERRIDE;
158 : };
159 0 : class OpArcSinHyp:public Normal{
160 : public:
161 : virtual void GenSlidingWindowFunction(std::stringstream &ss,
162 : const std::string &sSymName, SubArguments &vSubArguments) SAL_OVERRIDE;
163 0 : virtual std::string GetBottom(void) SAL_OVERRIDE { return "0.0"; }
164 0 : virtual std::string BinFuncName(void) const SAL_OVERRIDE { return "ScASinH"; }
165 : };
166 0 : class OpTrunc: public Normal
167 : {
168 : public:
169 : virtual void GenSlidingWindowFunction(std::stringstream &ss,
170 : const std::string &sSymName, SubArguments &vSubArguments) SAL_OVERRIDE;
171 :
172 0 : virtual std::string BinFuncName(void) const SAL_OVERRIDE { return "Trunc"; }
173 : };
174 0 : class OpArcTan2:public Normal{
175 : public:
176 : virtual void GenSlidingWindowFunction(std::stringstream &ss,
177 : const std::string &sSymName, SubArguments &vSubArguments) SAL_OVERRIDE;
178 0 : virtual std::string GetBottom(void) SAL_OVERRIDE { return "0.0"; }
179 0 : virtual std::string BinFuncName(void) const SAL_OVERRIDE { return "ScATan2"; }
180 : virtual void BinInlineFun(std::set<std::string>& ,std::set<std::string>&) SAL_OVERRIDE;
181 : };
182 0 : class OpArcTan:public Normal{
183 : public:
184 : virtual void GenSlidingWindowFunction(std::stringstream &ss,
185 : const std::string &sSymName, SubArguments &vSubArguments) SAL_OVERRIDE;
186 0 : virtual std::string GetBottom(void) SAL_OVERRIDE { return "0.0"; }
187 0 : virtual std::string BinFuncName(void) const SAL_OVERRIDE { return "ScATan"; }
188 : };
189 0 : class OpArcTanH:public Normal{
190 : public:
191 : virtual void GenSlidingWindowFunction(std::stringstream &ss,
192 : const std::string &sSymName, SubArguments &vSubArguments) SAL_OVERRIDE;
193 0 : virtual std::string GetBottom(void) SAL_OVERRIDE { return "0.0"; }
194 0 : virtual std::string BinFuncName(void) const SAL_OVERRIDE { return "ScATanH"; }
195 : };
196 0 : class OpBitAnd:public Normal{
197 : public:
198 : virtual void GenSlidingWindowFunction(std::stringstream &ss,
199 : const std::string &sSymName, SubArguments &vSubArguments) SAL_OVERRIDE;
200 0 : virtual std::string GetBottom(void) SAL_OVERRIDE { return "0.0"; }
201 0 : virtual std::string BinFuncName(void) const SAL_OVERRIDE { return "ScBitAnd"; }
202 : };
203 0 : class OpBitOr:public Normal{
204 : public:
205 : virtual void GenSlidingWindowFunction(std::stringstream &ss,
206 : const std::string &sSymName, SubArguments &vSubArguments) SAL_OVERRIDE;
207 0 : virtual std::string GetBottom(void) SAL_OVERRIDE { return "0.0"; }
208 0 : virtual std::string BinFuncName(void) const SAL_OVERRIDE { return "ScBitOr"; }
209 : };
210 0 : class OpBitXor:public Normal{
211 : public:
212 : virtual void GenSlidingWindowFunction(std::stringstream &ss,
213 : const std::string &sSymName, SubArguments &vSubArguments) SAL_OVERRIDE;
214 0 : virtual std::string GetBottom(void) SAL_OVERRIDE { return "0.0"; }
215 0 : virtual std::string BinFuncName(void) const SAL_OVERRIDE { return "ScBitXor"; }
216 : };
217 0 : class OpBitLshift:public Normal{
218 : public:
219 : virtual void GenSlidingWindowFunction(std::stringstream &ss,
220 : const std::string &sSymName, SubArguments &vSubArguments) SAL_OVERRIDE;
221 0 : virtual std::string GetBottom(void) SAL_OVERRIDE { return "0.0"; }
222 0 : virtual std::string BinFuncName(void) const SAL_OVERRIDE { return "ScBitLshift"; }
223 : };
224 0 : class OpBitRshift:public Normal{
225 : public:
226 : virtual void GenSlidingWindowFunction(std::stringstream &ss,
227 : const std::string &sSymName, SubArguments &vSubArguments) SAL_OVERRIDE;
228 0 : virtual std::string GetBottom(void) SAL_OVERRIDE { return "0.0"; }
229 0 : virtual std::string BinFuncName(void) const SAL_OVERRIDE { return "ScBitRshift"; }
230 : };
231 0 : class OpLn: public CheckVariables
232 : {
233 : public:
234 : virtual void GenSlidingWindowFunction(std::stringstream &ss,
235 : const std::string &sSymName, SubArguments &vSubArguments) SAL_OVERRIDE;
236 0 : virtual std::string BinFuncName(void) const SAL_OVERRIDE { return "Ln"; }
237 : };
238 0 : class OpRound: public CheckVariables
239 : {
240 : public:
241 : virtual void GenSlidingWindowFunction(std::stringstream &ss,
242 : const std::string &sSymName, SubArguments &vSubArguments) SAL_OVERRIDE;
243 0 : virtual std::string BinFuncName(void) const SAL_OVERRIDE { return "Round"; }
244 : };
245 0 : class OpRoundUp: public CheckVariables
246 : {
247 : public:
248 : virtual void GenSlidingWindowFunction(std::stringstream &ss,
249 : const std::string &sSymName, SubArguments &vSubArguments) SAL_OVERRIDE;
250 0 : virtual std::string BinFuncName(void) const SAL_OVERRIDE { return "RoundUp"; }
251 : };
252 0 : class OpRoundDown: public CheckVariables
253 : {
254 : public:
255 : virtual void GenSlidingWindowFunction(std::stringstream &ss,
256 : const std::string &sSymName, SubArguments &vSubArguments) SAL_OVERRIDE;
257 0 : virtual std::string BinFuncName(void) const SAL_OVERRIDE { return "RoundDown"; }
258 : };
259 0 : class OpInt: public CheckVariables
260 : {
261 : public:
262 : virtual void GenSlidingWindowFunction(std::stringstream &ss,
263 : const std::string &sSymName, SubArguments &vSubArguments) SAL_OVERRIDE;
264 0 : virtual std::string BinFuncName(void) const SAL_OVERRIDE { return "Int"; }
265 : };
266 0 : class OpRadians: public CheckVariables
267 : {
268 : public:
269 : virtual void GenSlidingWindowFunction(std::stringstream &ss,
270 : const std::string &sSymName, SubArguments &vSubArguments) SAL_OVERRIDE;
271 0 : virtual std::string BinFuncName(void) const SAL_OVERRIDE { return "Radians"; }
272 : };
273 0 : class OpIsEven: public CheckVariables
274 : {
275 : public:
276 : virtual void GenSlidingWindowFunction(std::stringstream &ss,
277 : const std::string &sSymName, SubArguments &vSubArguments) SAL_OVERRIDE;
278 0 : virtual std::string BinFuncName(void) const SAL_OVERRIDE { return "IsEven"; }
279 : };
280 0 : class OpIsOdd: public CheckVariables
281 : {
282 : public:
283 : virtual void GenSlidingWindowFunction(std::stringstream &ss,
284 : const std::string &sSymName, SubArguments &vSubArguments) SAL_OVERRIDE;
285 0 : virtual std::string BinFuncName(void) const SAL_OVERRIDE { return "IsOdd"; }
286 : };
287 0 : class OpCot: public Normal
288 : {
289 : public:
290 : virtual void GenSlidingWindowFunction(std::stringstream &ss,
291 : const std::string &sSymName, SubArguments &vSubArguments) SAL_OVERRIDE;
292 :
293 0 : virtual std::string BinFuncName(void) const SAL_OVERRIDE { return "Cot"; }
294 : };
295 0 : class OpSumSQ: public Normal
296 : {
297 : public:
298 : virtual void GenSlidingWindowFunction(std::stringstream &ss,
299 : const std::string &sSymName, SubArguments &vSubArguments) SAL_OVERRIDE;
300 :
301 0 : virtual std::string BinFuncName(void) const SAL_OVERRIDE { return "SumSQ"; }
302 : };
303 0 : class OpCoth: public Normal
304 : {
305 : public:
306 : virtual void GenSlidingWindowFunction(std::stringstream &ss,
307 : const std::string &sSymName, SubArguments &vSubArguments) SAL_OVERRIDE;
308 : virtual void BinInlineFun(std::set<std::string>& ,
309 : std::set<std::string>& ) SAL_OVERRIDE;
310 0 : virtual std::string BinFuncName(void) const SAL_OVERRIDE { return "Coth"; }
311 : };
312 0 : class OpPower: public Normal
313 : {
314 : public:
315 : virtual void GenSlidingWindowFunction(std::stringstream &ss,
316 : const std::string &sSymName, SubArguments &vSubArguments) SAL_OVERRIDE;
317 0 : virtual std::string BinFuncName(void) const SAL_OVERRIDE { return "Power"; }
318 : };
319 0 : class OpOdd: public Normal
320 : {
321 : public:
322 : virtual void GenSlidingWindowFunction(std::stringstream &ss,
323 : const std::string &sSymName, SubArguments &vSubArguments) SAL_OVERRIDE;
324 0 : virtual std::string BinFuncName(void) const SAL_OVERRIDE { return "Odd"; }
325 : };
326 0 : class OpFloor: public Normal
327 : {
328 : public:
329 : virtual void GenSlidingWindowFunction(std::stringstream &ss,
330 : const std::string &sSymName, SubArguments &vSubArguments) SAL_OVERRIDE;
331 0 : virtual std::string BinFuncName(void) const SAL_OVERRIDE { return "Floor"; }
332 : };
333 0 : class OpCscH: public Normal
334 : {
335 : public:
336 : virtual void GenSlidingWindowFunction(std::stringstream &ss,
337 : const std::string &sSymName, SubArguments &vSubArguments) SAL_OVERRIDE;
338 0 : virtual std::string BinFuncName(void) const SAL_OVERRIDE { return "CscH"; }
339 : };
340 0 : class OpCeil:public Normal{
341 : public:
342 : virtual void GenSlidingWindowFunction(std::stringstream &ss,
343 : const std::string &sSymName, SubArguments &vSubArguments) SAL_OVERRIDE;
344 0 : virtual std::string GetBottom(void) SAL_OVERRIDE { return "0.0"; }
345 0 : virtual std::string BinFuncName(void) const SAL_OVERRIDE { return "ScCeil"; }
346 : };
347 0 : class OpExp: public Normal
348 : {
349 : public:
350 : virtual void GenSlidingWindowFunction(std::stringstream &ss,
351 : const std::string &sSymName, SubArguments &vSubArguments) SAL_OVERRIDE;
352 0 : virtual std::string BinFuncName(void) const SAL_OVERRIDE { return "Exp"; }
353 : };
354 0 : class OpLog10: public Normal
355 : {
356 : public:
357 : virtual void GenSlidingWindowFunction(std::stringstream &ss,
358 : const std::string &sSymName, SubArguments &vSubArguments) SAL_OVERRIDE;
359 0 : virtual std::string BinFuncName(void) const SAL_OVERRIDE { return "Log10"; }
360 : };
361 0 : class OpConvert: public Normal
362 : {
363 : public:
364 : virtual void GenSlidingWindowFunction(std::stringstream &ss,
365 : const std::string &sSymName, SubArguments &vSubArguments) SAL_OVERRIDE;
366 0 : virtual std::string BinFuncName(void) const SAL_OVERRIDE { return "Convert"; }
367 0 : virtual bool takeString() const SAL_OVERRIDE { return true; }
368 :
369 : };
370 0 : class OpEven: public Normal
371 : {
372 : public:
373 : virtual void GenSlidingWindowFunction(std::stringstream &ss,
374 : const std::string &sSymName, SubArguments &vSubArguments) SAL_OVERRIDE;
375 :
376 0 : virtual std::string BinFuncName(void) const SAL_OVERRIDE { return "Even"; }
377 : };
378 0 : class OpAverageIfs: public CheckVariables
379 : {
380 : public:
381 : virtual void GenSlidingWindowFunction(std::stringstream &ss,
382 : const std::string &sSymName, SubArguments &vSubArguments) SAL_OVERRIDE;
383 0 : virtual std::string BinFuncName(void) const SAL_OVERRIDE { return "AverageIfs"; }
384 : };
385 0 : class OpCountIfs: public CheckVariables
386 : {
387 : public:
388 : virtual void GenSlidingWindowFunction(std::stringstream &ss,
389 : const std::string &sSymName, SubArguments &vSubArguments) SAL_OVERRIDE;
390 0 : virtual std::string BinFuncName(void) const SAL_OVERRIDE { return "CountIfs"; }
391 : };
392 0 : class OpMod: public Normal
393 : {
394 : public:
395 : virtual void GenSlidingWindowFunction(std::stringstream &ss,
396 : const std::string &sSymName, SubArguments &vSubArguments) SAL_OVERRIDE;
397 :
398 0 : virtual std::string BinFuncName(void) const SAL_OVERRIDE { return "Mod"; }
399 : };
400 0 : class OpProduct: public Normal
401 : {
402 : public:
403 : virtual void GenSlidingWindowFunction(std::stringstream &ss,
404 : const std::string &sSymName, SubArguments &vSubArguments) SAL_OVERRIDE;
405 0 : virtual std::string BinFuncName(void) const SAL_OVERRIDE { return "Product"; }
406 : };
407 0 : class OpSqrtPi: public Normal
408 : {
409 : public:
410 : virtual void GenSlidingWindowFunction(std::stringstream &ss,
411 : const std::string &sSymName, SubArguments &vSubArguments) SAL_OVERRIDE;
412 :
413 0 : virtual std::string BinFuncName(void) const SAL_OVERRIDE { return "SqrtPi"; }
414 : };
415 :
416 0 : class OpCombina: public Normal
417 : {
418 : public:
419 : virtual void GenSlidingWindowFunction(std::stringstream &ss,
420 : const std::string &sSymName, SubArguments &vSubArguments) SAL_OVERRIDE;
421 :
422 0 : virtual std::string BinFuncName(void) const SAL_OVERRIDE { return "Combina"; }
423 : virtual void BinInlineFun(std::set<std::string>& ,std::set<std::string>& ) SAL_OVERRIDE;
424 : };
425 0 : class OpLog: public Normal
426 : {
427 : public:
428 : virtual void GenSlidingWindowFunction(std::stringstream &ss,
429 : const std::string &sSymName, SubArguments &vSubArguments) SAL_OVERRIDE;
430 :
431 0 : virtual std::string BinFuncName(void) const SAL_OVERRIDE { return "Log"; }
432 : };
433 0 : class OpKombin: public Normal{
434 : public:
435 : virtual void GenSlidingWindowFunction(std::stringstream &ss,
436 : const std::string &sSymName, SubArguments &vSubArguments) SAL_OVERRIDE;
437 0 : virtual std::string GetBottom(void) SAL_OVERRIDE { return "0.0"; }
438 0 : virtual std::string BinFuncName(void) const SAL_OVERRIDE { return "ScKombin"; }
439 : };
440 0 : class OpAverageIf: public CheckVariables
441 : {
442 : public:
443 : virtual void GenSlidingWindowFunction(std::stringstream &ss,
444 : const std::string &sSymName, SubArguments &vSubArguments) SAL_OVERRIDE;
445 :
446 0 : virtual std::string BinFuncName(void) const SAL_OVERRIDE { return "AverageIf"; }
447 : };
448 0 : class OpDeg: public Normal
449 : {
450 : public:
451 : virtual void GenSlidingWindowFunction(std::stringstream &ss,
452 : const std::string &sSymName, SubArguments &vSubArguments) SAL_OVERRIDE;
453 0 : virtual std::string BinFuncName(void) const SAL_OVERRIDE { return "Degrees"; }
454 : };
455 0 : class OpCountIf: public Normal
456 : {
457 : public:
458 : virtual void GenSlidingWindowFunction(std::stringstream &ss,
459 : const std::string &sSymName, SubArguments &vSubArguments) SAL_OVERRIDE;
460 0 : virtual std::string BinFuncName(void) const SAL_OVERRIDE { return "Countif"; }
461 : };
462 0 : class OpFact: public Normal{
463 : public:
464 : virtual void GenSlidingWindowFunction(std::stringstream& ss,
465 : const std::string &sSymName, SubArguments& vSubArguments) SAL_OVERRIDE;
466 0 : virtual std::string GetBottom(void) SAL_OVERRIDE { return "0.0"; }
467 0 : virtual std::string BinFuncName(void) const SAL_OVERRIDE { return "Fact"; }
468 : };
469 0 : class OpSeriesSum: public Normal
470 : {
471 : public:
472 : virtual void GenSlidingWindowFunction(std::stringstream &ss,
473 : const std::string &sSymName, SubArguments &vSubArguments) SAL_OVERRIDE;
474 0 : virtual std::string BinFuncName(void) const SAL_OVERRIDE { return "SeriesSum"; }
475 : };
476 0 : class OpSumIf: public Normal
477 : {
478 : public:
479 : virtual void GenSlidingWindowFunction(std::stringstream &ss,
480 : const std::string &sSymName, SubArguments &vSubArguments) SAL_OVERRIDE;
481 0 : virtual std::string BinFuncName(void) const SAL_OVERRIDE { return "SumIf"; }
482 : };
483 0 : class OpQuotient: public Normal
484 : {
485 : public:
486 : virtual void GenSlidingWindowFunction(std::stringstream &ss,
487 : const std::string &sSymName, SubArguments &vSubArguments) SAL_OVERRIDE;
488 0 : virtual std::string BinFuncName(void) const SAL_OVERRIDE { return "Quotient"; }
489 : };
490 0 : class OpNegSub: public CheckVariables
491 : {
492 : public:
493 : virtual void GenSlidingWindowFunction(std::stringstream &ss,
494 : const std::string &sSymName, SubArguments &vSubArguments) SAL_OVERRIDE;
495 0 : virtual std::string BinFuncName(void) const SAL_OVERRIDE { return "NegSub"; }
496 : };
497 :
498 : }}
499 :
500 : #endif
501 :
502 : /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|