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