LibreOffice Module sc (master) 1
op_statistical.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#include "utils.hxx"
14
15namespace sc::opencl {
16
17class OpStandard: public Normal
18{
19public:
21 const std::string &sSymName, SubArguments &vSubArguments) override;
22 virtual std::string BinFuncName() const override { return "Standard"; }
23};
24class OpExponDist: public Normal
25{
26public:
28 const std::string &sSymName, SubArguments &vSubArguments) override;
29 virtual std::string BinFuncName() const override { return "ExponDist"; }
30};
31class OpZTest: public Normal
32{
33public:
35 const std::string &sSymName, SubArguments &vSubArguments) override;
36 virtual void BinInlineFun(std::set<std::string>& ,std::set<std::string>&) override;
37 virtual std::string BinFuncName() const override { return "ZTest"; }
38};
39class OpWeibull: public Normal
40{
41public:
43 const std::string &sSymName, SubArguments &vSubArguments) override;
44 virtual std::string BinFuncName() const override { return "Weibull"; }
45};
46class OpFdist: public Normal
47{
48public:
50 const std::string &sSymName, SubArguments &vSubArguments) override;
51 virtual void BinInlineFun(std::set<std::string>& ,std::set<std::string>&) override;
52 virtual std::string BinFuncName() const override { return "Fdist"; }
53};
54class OpTDist: public Normal
55{
56public:
58 const std::string &sSymName, SubArguments &vSubArguments) override;
59 virtual std::string BinFuncName() const override { return "TDist"; }
60 virtual void BinInlineFun(std::set<std::string>& ,std::set<std::string>&) override;
61};
62class OpTInv: public Normal
63{
64public:
66 const std::string &sSymName, SubArguments &vSubArguments) override;
67 virtual std::string BinFuncName() const override { return "TInv"; }
68 virtual void BinInlineFun(std::set<std::string>& ,std::set<std::string>&) override;
69};
70class OpTTest: public Normal
71{
72public:
74 const std::string &sSymName, SubArguments &vSubArguments) override;
75 virtual std::string BinFuncName() const override { return "TTest"; }
76 virtual void BinInlineFun(std::set<std::string>& ,std::set<std::string>&) override;
77};
78class OpFisher: public Normal
79{
80public:
82 const std::string &sSymName, SubArguments &vSubArguments) override;
83 virtual std::string BinFuncName() const override { return "Fisher"; }
84};
85
86class OpFisherInv: public Normal
87{
88public:
90 const std::string &sSymName, SubArguments &vSubArguments) override;
91 virtual std::string BinFuncName() const override { return "FisherInv"; }
92};
93
94class OpGamma: public Normal
95{
96public:
98 const std::string &sSymName, SubArguments &vSubArguments) override;
99 virtual std::string BinFuncName() const override { return "Gamma"; }
100};
101
103{
104public:
105 virtual void GenSlidingWindowFunction(outputstream &ss,
106 const std::string &sSymName, SubArguments &vSubArguments) override;
107 virtual std::string BinFuncName() const override { return "OpNegbinomdist"; }
108};
109
110class OpGammaLn: public Normal
111{
112public:
113 virtual void GenSlidingWindowFunction(outputstream &ss,
114 const std::string &sSymName, SubArguments &vSubArguments) override;
115 virtual std::string BinFuncName() const override { return "GammaLn"; }
116};
117
118class OpGauss: public Normal
119{
120public:
121 virtual void GenSlidingWindowFunction(outputstream &ss,
122 const std::string &sSymName, SubArguments &vSubArguments) override;
123 virtual void BinInlineFun(std::set<std::string>& ,
124 std::set<std::string>& ) override;
125 virtual std::string BinFuncName() const override { return "Gauss"; }
126};
127
128class OpGeoMean: public Normal
129{
130public:
131 virtual void GenSlidingWindowFunction(outputstream &ss,
132 const std::string &sSymName, SubArguments &vSubArguments) override;
133 virtual std::string BinFuncName() const override { return "GeoMean"; }
134 virtual bool canHandleMultiVector() const override { return true; }
135};
136
137class OpHarMean: public Normal
138{
139public:
140 virtual void GenSlidingWindowFunction(outputstream &ss,
141 const std::string &sSymName, SubArguments &vSubArguments) override;
142 virtual std::string BinFuncName() const override { return "HarMean"; }
143 virtual bool canHandleMultiVector() const override { return true; }
144};
145
146class OpNormdist:public Normal{
147 public:
148 virtual void GenSlidingWindowFunction(outputstream &ss,
149 const std::string &sSymName, SubArguments &vSubArguments) override;
150 virtual std::string BinFuncName() const override { return "OpNormdist"; }
151};
152class OpNormsdist:public Normal{
153 public:
154 virtual void GenSlidingWindowFunction(outputstream &ss,
155 const std::string &sSymName, SubArguments &vSubArguments) override;
156 virtual std::string BinFuncName() const override { return "OpNormsdist"; }
157};
158class OpNorminv:public Normal{
159 public:
160 virtual void GenSlidingWindowFunction(outputstream &ss,
161 const std::string &sSymName, SubArguments &vSubArguments) override;
162 virtual std::string BinFuncName() const override { return "OpNorminv"; }
163 virtual void BinInlineFun(std::set<std::string>& ,std::set<std::string>&) override;
164};
165class OpNormsinv:public Normal{
166 public:
167 virtual void GenSlidingWindowFunction(outputstream &ss,
168 const std::string &sSymName, SubArguments &vSubArguments) override;
169 virtual std::string BinFuncName() const override { return "OpNormsinv"; }
170 virtual void BinInlineFun(std::set<std::string>& ,std::set<std::string>&) override;
171};
172class OpPhi:public Normal{
173 public:
174 virtual void GenSlidingWindowFunction(outputstream &ss,
175 const std::string &sSymName, SubArguments &vSubArguments) override;
176 virtual std::string BinFuncName() const override { return "OpPhi"; }
177};
178
179class OpPermut:public Normal{
180 public:
181 virtual void GenSlidingWindowFunction(outputstream &ss,
182 const std::string &sSymName, SubArguments &vSubArguments) override;
183 virtual std::string BinFuncName() const override { return "OpPermut"; }
184};
186 public:
187 virtual void GenSlidingWindowFunction(outputstream &ss,
188 const std::string &sSymName, SubArguments &vSubArguments) override;
189 virtual std::string BinFuncName() const override { return "OpPermutationA";}
190};
191
192class OpConfidence: public Normal
193{
194public:
195 virtual std::string GetBottom() override { return "0"; }
196
197 virtual void GenSlidingWindowFunction(outputstream& ss,
198 const std::string &sSymName, SubArguments& vSubArguments) override;
199 virtual void BinInlineFun(std::set<std::string>& ,
200 std::set<std::string>& ) override;
201
202 virtual std::string BinFuncName() const override { return "Confidence"; }
203};
204class OpLogInv: public Normal
205{
206public:
207 virtual void GenSlidingWindowFunction(outputstream &ss,
208 const std::string &sSymName, SubArguments &vSubArguments) override;
209 virtual std::string BinFuncName() const override { return "LogInv"; }
210 virtual void BinInlineFun(std::set<std::string>& ,std::set<std::string>&) override;
211};
212class OpCritBinom: public Normal
213{
214public:
215 virtual std::string GetBottom() override { return "0"; }
216
217 virtual void GenSlidingWindowFunction(outputstream& ss,
218 const std::string &sSymName, SubArguments& vSubArguments) override;
219 virtual void BinInlineFun(std::set<std::string>& ,
220 std::set<std::string>& ) override;
221
222 virtual std::string BinFuncName() const override { return "CritBinom"; }
223};
225{
226public:
227 virtual void GenSlidingWindowFunction(outputstream &ss,
228 const std::string &sSymName, SubArguments &vSubArguments) override;
229 virtual std::string BinFuncName() const override { return "LogNormdist"; }
230};
231class OpGammaDist: public Normal
232{
233public:
234 virtual void GenSlidingWindowFunction(outputstream &ss,
235 const std::string &sSymName, SubArguments &vSubArguments) override;
236 void BinInlineFun(std::set<std::string>& decls,std::set<std::string>& funs) override;
237 virtual std::string BinFuncName() const override { return "GammaDist"; }
238};
240 public:
241 virtual void GenSlidingWindowFunction(outputstream &ss,
242 const std::string &sSymName, SubArguments &vSubArguments) override;
243 virtual std::string BinFuncName() const override { return "OpHypGeomDist"; }
244};
245class OpChiDist:public Normal{
246 public:
247 virtual void GenSlidingWindowFunction(outputstream &ss,
248 const std::string &sSymName, SubArguments &vSubArguments) override;
249 virtual void BinInlineFun(std::set<std::string>& ,std::set<std::string>&) override;
250 virtual std::string BinFuncName() const override { return "OpChiDist"; }
251};
252class OpBinomdist:public Normal{
253 public:
254 virtual void GenSlidingWindowFunction(outputstream &ss,
255 const std::string &sSymName, SubArguments &vSubArguments) override;
256 virtual void BinInlineFun(std::set<std::string>& ,std::set<std::string>&) override;
257 virtual std::string BinFuncName() const override { return "OpBinomdist"; }
258};
260{
261public:
262 virtual void GenSlidingWindowFunction(outputstream &ss,
263 const std::string &sSymName, SubArguments &vSubArguments) override;
264 virtual std::string BinFuncName() const override { return "ChiSqDist"; }
265 virtual void BinInlineFun(std::set<std::string>& ,std::set<std::string>& ) override;
266};
267
269{
270public:
271 virtual void GenSlidingWindowFunction(outputstream &ss,
272 const std::string &sSymName, SubArguments &vSubArguments) override;
273 virtual std::string BinFuncName() const override { return "ChiSqInv"; }
274 virtual void BinInlineFun(std::set<std::string>& ,std::set<std::string>& ) override;
275};
276class OpChiInv:public Normal{
277 public:
278 virtual void GenSlidingWindowFunction(outputstream &ss,
279 const std::string &sSymName, SubArguments &vSubArguments) override;
280 virtual void BinInlineFun(std::set<std::string>& ,std::set<std::string>&) override;
281 virtual std::string BinFuncName() const override { return "OpChiInv"; }
282};
283class OpPoisson:public Normal{
284 public:
285 virtual void GenSlidingWindowFunction(outputstream &ss,
286 const std::string &sSymName, SubArguments &vSubArguments) override;
287 virtual void BinInlineFun(std::set<std::string>& ,std::set<std::string>&) override;
288 virtual std::string BinFuncName() const override { return "OpPoisson"; }
289};
290
291class OpGammaInv: public Normal
292{
293public:
294 virtual void GenSlidingWindowFunction(outputstream &ss,
295 const std::string &sSymName, SubArguments &vSubArguments) override;
296 void BinInlineFun(std::set<std::string>& decls,std::set<std::string>& funs
297) override;
298 virtual std::string BinFuncName() const override { return "GammaInv"; }
299};
300class OpFInv: public Normal
301{
302public:
303 virtual void GenSlidingWindowFunction(outputstream &ss,
304 const std::string &sSymName, SubArguments &vSubArguments) override;
305 void BinInlineFun(std::set<std::string>& decls,std::set<std::string>& funs
306) override;
307 virtual std::string BinFuncName() const override { return "FInv"; }
308};
309class OpFTest: public Normal
310{
311public:
312 virtual void GenSlidingWindowFunction(outputstream &ss,
313 const std::string &sSymName, SubArguments &vSubArguments) override;
314 void BinInlineFun(std::set<std::string>& decls,std::set<std::string>& funs
315) override;
316 virtual std::string BinFuncName() const override { return "FTest"; }
317};
318class OpDevSq: public Normal
319{
320public:
321 virtual void GenSlidingWindowFunction(outputstream &ss,
322 const std::string &sSymName, SubArguments &vSubArguments) override;
323 virtual std::string BinFuncName() const override { return "DevSq"; }
324 virtual bool canHandleMultiVector() const override { return true; }
325};
326class OpB: public Normal
327{
328public:
329 virtual void GenSlidingWindowFunction(outputstream &ss,
330 const std::string &sSymName, SubArguments &vSubArguments) override;
331 void BinInlineFun(std::set<std::string>& decls,std::set<std::string>& funs
332) override;
333 virtual std::string BinFuncName() const override { return "B"; }
334};
335class OpBetaDist: public Normal
336{
337public:
338 virtual void GenSlidingWindowFunction(outputstream &ss,
339 const std::string &sSymName, SubArguments &vSubArguments) override;
340 void BinInlineFun(std::set<std::string>& decls,std::set<std::string>& funs
341) override;
342 virtual std::string BinFuncName() const override { return "BetaDist"; }
343};
344class OpBetainv:public Normal{
345 public:
346 virtual void GenSlidingWindowFunction(outputstream &ss,
347 const std::string &sSymName, SubArguments &vSubArguments) override;
348 virtual void BinInlineFun(std::set<std::string>& ,std::set<std::string>&) override;
349 virtual std::string BinFuncName() const override { return "OpBetainv"; }
350};
351
352class OpAveDev: public Normal
353{
354public:
355 virtual void GenSlidingWindowFunction(outputstream &ss,
356 const std::string &sSymName, SubArguments &vSubArguments) override;
357 virtual std::string BinFuncName() const override { return "AveDev"; }
358 virtual bool canHandleMultiVector() const override { return true; }
359};
360
361class OpCovar: public Normal
362{
363public:
364 virtual void GenSlidingWindowFunction(outputstream& ss,
365 const std::string &sSymName, SubArguments& vSubArguments) override;
366 virtual std::string BinFuncName() const override { return "Covar"; }
367};
368
369class OpForecast: public Normal
370{
371public:
372 virtual void GenSlidingWindowFunction(outputstream &ss,
373 const std::string &sSymName, SubArguments &vSubArguments) override;
374 virtual std::string BinFuncName() const override { return "Forecast"; }
375};
376
378{
379public:
381 const std::string &sSymName, SubArguments &vSubArguments) override = 0;
382protected:
383 void GenerateCode( outputstream& ss, const std::string &sSymName,
384 SubArguments &vSubArguments, const char* finalComputeCode );
385};
386
388{
389public:
390 virtual void GenSlidingWindowFunction(outputstream &ss,
391 const std::string &sSymName, SubArguments &vSubArguments) override;
392 virtual std::string BinFuncName() const override { return "Intercept"; }
393};
394
396{
397public:
398 virtual void GenSlidingWindowFunction(outputstream &ss,
399 const std::string &sSymName, SubArguments &vSubArguments) override;
400 virtual std::string BinFuncName() const override { return "Slope"; }
401};
402
404{
405public:
407 const std::string &sSymName, SubArguments &vSubArguments) override = 0;
408protected:
409 void GenerateCode( outputstream& ss, const std::string &sSymName,
410 SubArguments &vSubArguments, double minimalCountValue, const char* finalComputeCode );
411};
412
414{
415public:
416 virtual void GenSlidingWindowFunction(outputstream &ss,
417 const std::string &sSymName, SubArguments &vSubArguments) override;
418 virtual std::string BinFuncName() const override { return "OpPearson"; }
419};
420
421class OpCorrel: public OpPearson // they are identical
422{
423public:
424 virtual std::string BinFuncName() const override { return "Correl"; }
425};
426
428{
429public:
430 virtual void GenSlidingWindowFunction(outputstream &ss,
431 const std::string &sSymName, SubArguments &vSubArguments) override;
432 virtual std::string BinFuncName() const override { return "STEYX"; }
433};
434
436{
437public:
438 virtual void GenSlidingWindowFunction(outputstream &ss,
439 const std::string &sSymName, SubArguments &vSubArguments) override;
440 virtual std::string BinFuncName() const override { return "OpRsq"; }
441};
442
443class OpVarStDevBase : public Normal
444{
445public:
446 virtual void BinInlineFun(std::set<std::string>& decls,std::set<std::string>& funs) override;
447 virtual bool canHandleMultiVector() const override { return true; }
448protected:
449 // Generates function setup and checks, then generates a loop that will calculate
450 // fMean and fCount from all arguments (ranges) and then a second loop that will
451 // calculate vSum (pown(fsub_approx(arg,fMean),2)) from all arguments.
452 void GenerateCode( outputstream& ss, const std::string& sSymName, SubArguments &vSubArguments );
453};
454
456{
457public:
458 virtual void GenSlidingWindowFunction(outputstream &ss,
459 const std::string &sSymName, SubArguments &vSubArguments) override;
460 virtual std::string BinFuncName() const override { return "Var"; }
461};
462
464{
465public:
466 virtual void GenSlidingWindowFunction(outputstream &ss,
467 const std::string &sSymName, SubArguments &vSubArguments) override;
468 virtual std::string BinFuncName() const override { return "VarP"; }
469};
470
472{
473public:
474 virtual void GenSlidingWindowFunction(outputstream &ss,
475 const std::string &sSymName, SubArguments &vSubArguments) override;
476 virtual std::string BinFuncName() const override { return "StDev"; }
477};
478
480{
481public:
482 virtual void GenSlidingWindowFunction(outputstream &ss,
483 const std::string &sSymName, SubArguments &vSubArguments) override;
484 virtual std::string BinFuncName() const override { return "StDevP"; }
485};
486
488{
489public:
490 virtual void GenSlidingWindowFunction(outputstream &ss,
491 const std::string &sSymName, SubArguments &vSubArguments) override;
492 virtual std::string BinFuncName() const override { return "Skew"; }
493};
494
496{
497public:
498 virtual void GenSlidingWindowFunction(outputstream &ss,
499 const std::string &sSymName, SubArguments &vSubArguments) override;
500 virtual std::string BinFuncName() const override { return "Skewp"; }
501};
502
504{
505public:
506 virtual void GenSlidingWindowFunction(outputstream &ss,
507 const std::string &sSymName, SubArguments &vSubArguments) override;
508 virtual std::string BinFuncName() const override { return "Kurt"; }
509};
510
511class OpMin : public Reduction
512{
513public:
514 explicit OpMin(int nResultSize) : Reduction(nResultSize) {}
515
516 virtual std::string GetBottom() override { return "NAN"; }
517 virtual std::string Gen2( const std::string& lhs, const std::string& rhs ) const override
518 {
519 return "fmin_count(" + lhs + "," + rhs + ", &nCount)";
520 }
521 virtual void BinInlineFun(std::set<std::string>& decls,std::set<std::string>& funs) override;
522 virtual std::string BinFuncName() const override { return "min"; }
523 virtual bool isMinOrMax() const override { return true; }
524 virtual bool canHandleMultiVector() const override { return true; }
525};
526
527class OpMax : public Reduction
528{
529public:
530 explicit OpMax(int nResultSize) : Reduction(nResultSize) {}
531
532 virtual std::string GetBottom() override { return "NAN"; }
533 virtual std::string Gen2( const std::string& lhs, const std::string& rhs ) const override
534 {
535 return "fmax_count(" + lhs + "," + rhs + ", &nCount)";
536 }
537 virtual void BinInlineFun(std::set<std::string>& decls,std::set<std::string>& funs) override;
538 virtual std::string BinFuncName() const override { return "max"; }
539 virtual bool isMinOrMax() const override { return true; }
540 virtual bool canHandleMultiVector() const override { return true; }
541};
542
543class OpAverage : public Reduction
544{
545public:
546 explicit OpAverage(int nResultSize) : Reduction(nResultSize) {}
547
548 virtual std::string GetBottom() override { return "0"; }
549 virtual std::string Gen2( const std::string& lhs, const std::string& rhs ) const override
550 {
551 outputstream ss;
552 ss << "fsum_count(" << lhs << "," << rhs << ", &nCount)";
553 return ss.str();
554 }
555 virtual void BinInlineFun(std::set<std::string>& decls,std::set<std::string>& funs) override;
556 virtual std::string BinFuncName() const override { return "average"; }
557 virtual bool isAverage() const override { return true; }
558 virtual bool canHandleMultiVector() const override { return true; }
559};
560
561class OpCount : public Reduction
562{
563public:
564 explicit OpCount(int nResultSize) : Reduction(nResultSize) {}
565
566 virtual std::string GetBottom() override { return "0"; }
567 virtual std::string Gen2( const std::string& lhs, const std::string& rhs ) const override
568 {
569 outputstream ss;
570 ss << "(isnan(" << lhs << ")?" << rhs << ":" << rhs << "+1.0)";
571 return ss.str();
572 }
573 virtual std::string BinFuncName() const override { return "fcount"; }
574 virtual bool canHandleMultiVector() const override { return true; }
575};
576
577class OpCountA: public OpCount
578{
579public:
580 explicit OpCountA(int nResultSize) : OpCount(nResultSize) {}
581 virtual std::string BinFuncName() const override { return "OpCountA"; }
582 virtual bool forceStringsToZero() const override { return true; }
583};
584class OpMaxA: public OpMax
585{
586public:
587 explicit OpMaxA(int nResultSize) : OpMax(nResultSize) {}
588 virtual std::string BinFuncName() const override { return "OpMaxA"; }
589 virtual bool forceStringsToZero() const override { return true; }
590};
591class OpMinA : public OpMin
592{
593public:
594 explicit OpMinA(int nResultSize) : OpMin(nResultSize) {}
595 virtual std::string BinFuncName() const override { return "OpMinA"; }
596 virtual bool forceStringsToZero() const override { return true; }
597};
598class OpVarA: public OpVar
599{
600public:
601 virtual std::string BinFuncName() const override { return "OpVarA"; }
602 virtual bool forceStringsToZero() const override { return true; }
603};
604class OpVarPA: public OpVarP
605{
606public:
607 virtual std::string BinFuncName() const override { return "OpVarPA"; }
608 virtual bool forceStringsToZero() const override { return true; }
609};
610class OpStDevPA: public OpStDevP
611{
612public:
613 virtual std::string BinFuncName() const override { return "OpStDevPA"; }
614 virtual bool forceStringsToZero() const override { return true; }
615};
617{
618public:
619 explicit OpAverageA(int nResultSize) : OpAverage(nResultSize) {}
620 virtual std::string BinFuncName() const override { return "OpAverageA"; }
621 virtual bool forceStringsToZero() const override { return true; }
622};
623class OpStDevA: public OpStDev
624{
625public:
626 virtual std::string BinFuncName() const override { return "OpStDevA"; }
627 virtual bool forceStringsToZero() const override { return true; }
628};
629
630}
631
632/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
virtual void GenSlidingWindowFunction(outputstream &ss, const std::string &sSymName, SubArguments &vSubArguments) override
virtual std::string BinFuncName() const override
virtual bool canHandleMultiVector() const override
virtual std::string BinFuncName() const override
OpAverageA(int nResultSize)
virtual bool forceStringsToZero() const override
virtual std::string BinFuncName() const override
OpAverage(int nResultSize)
virtual std::string Gen2(const std::string &lhs, const std::string &rhs) const override
virtual std::string GetBottom() override
virtual void BinInlineFun(std::set< std::string > &decls, std::set< std::string > &funs) override
virtual bool canHandleMultiVector() const override
virtual bool isAverage() const override
void BinInlineFun(std::set< std::string > &decls, std::set< std::string > &funs) override
virtual std::string BinFuncName() const override
virtual void GenSlidingWindowFunction(outputstream &ss, const std::string &sSymName, SubArguments &vSubArguments) override
void BinInlineFun(std::set< std::string > &decls, std::set< std::string > &funs) override
virtual void GenSlidingWindowFunction(outputstream &ss, const std::string &sSymName, SubArguments &vSubArguments) override
virtual std::string BinFuncName() const override
virtual void GenSlidingWindowFunction(outputstream &ss, const std::string &sSymName, SubArguments &vSubArguments) override
virtual void BinInlineFun(std::set< std::string > &, std::set< std::string > &) override
virtual std::string BinFuncName() const override
virtual void GenSlidingWindowFunction(outputstream &ss, const std::string &sSymName, SubArguments &vSubArguments) override
virtual void BinInlineFun(std::set< std::string > &, std::set< std::string > &) override
virtual std::string BinFuncName() const override
virtual void BinInlineFun(std::set< std::string > &, std::set< std::string > &) override
virtual void GenSlidingWindowFunction(outputstream &ss, const std::string &sSymName, SubArguments &vSubArguments) override
virtual std::string BinFuncName() const override
virtual void BinInlineFun(std::set< std::string > &, std::set< std::string > &) override
virtual std::string BinFuncName() const override
virtual void GenSlidingWindowFunction(outputstream &ss, const std::string &sSymName, SubArguments &vSubArguments) override
virtual void GenSlidingWindowFunction(outputstream &ss, const std::string &sSymName, SubArguments &vSubArguments) override
virtual std::string BinFuncName() const override
virtual void BinInlineFun(std::set< std::string > &, std::set< std::string > &) override
virtual std::string BinFuncName() const override
virtual void GenSlidingWindowFunction(outputstream &ss, const std::string &sSymName, SubArguments &vSubArguments) override
virtual void BinInlineFun(std::set< std::string > &, std::set< std::string > &) override
virtual std::string GetBottom() override
virtual void GenSlidingWindowFunction(outputstream &ss, const std::string &sSymName, SubArguments &vSubArguments) override
virtual std::string BinFuncName() const override
virtual void BinInlineFun(std::set< std::string > &, std::set< std::string > &) override
virtual std::string BinFuncName() const override
virtual std::string BinFuncName() const override
virtual bool forceStringsToZero() const override
OpCountA(int nResultSize)
virtual bool canHandleMultiVector() const override
virtual std::string Gen2(const std::string &lhs, const std::string &rhs) const override
OpCount(int nResultSize)
virtual std::string BinFuncName() const override
virtual std::string GetBottom() override
virtual std::string BinFuncName() const override
virtual void GenSlidingWindowFunction(outputstream &ss, const std::string &sSymName, SubArguments &vSubArguments) override
virtual void BinInlineFun(std::set< std::string > &, std::set< std::string > &) override
virtual std::string BinFuncName() const override
virtual void GenSlidingWindowFunction(outputstream &ss, const std::string &sSymName, SubArguments &vSubArguments) override
virtual std::string GetBottom() override
virtual void GenSlidingWindowFunction(outputstream &ss, const std::string &sSymName, SubArguments &vSubArguments) override
virtual std::string BinFuncName() const override
virtual bool canHandleMultiVector() const override
virtual std::string BinFuncName() const override
virtual void GenSlidingWindowFunction(outputstream &ss, const std::string &sSymName, SubArguments &vSubArguments) override
virtual void GenSlidingWindowFunction(outputstream &ss, const std::string &sSymName, SubArguments &vSubArguments) override
void BinInlineFun(std::set< std::string > &decls, std::set< std::string > &funs) override
virtual std::string BinFuncName() const override
virtual std::string BinFuncName() const override
void BinInlineFun(std::set< std::string > &decls, std::set< std::string > &funs) override
virtual void GenSlidingWindowFunction(outputstream &ss, const std::string &sSymName, SubArguments &vSubArguments) override
virtual void BinInlineFun(std::set< std::string > &, std::set< std::string > &) override
virtual void GenSlidingWindowFunction(outputstream &ss, const std::string &sSymName, SubArguments &vSubArguments) override
virtual std::string BinFuncName() const override
virtual void GenSlidingWindowFunction(outputstream &ss, const std::string &sSymName, SubArguments &vSubArguments) override
virtual std::string BinFuncName() const override
virtual void GenSlidingWindowFunction(outputstream &ss, const std::string &sSymName, SubArguments &vSubArguments) override
virtual std::string BinFuncName() const override
virtual std::string BinFuncName() const override
virtual void GenSlidingWindowFunction(outputstream &ss, const std::string &sSymName, SubArguments &vSubArguments) override
virtual void GenSlidingWindowFunction(outputstream &ss, const std::string &sSymName, SubArguments &vSubArguments) override
virtual std::string BinFuncName() const override
void BinInlineFun(std::set< std::string > &decls, std::set< std::string > &funs) override
void BinInlineFun(std::set< std::string > &decls, std::set< std::string > &funs) override
virtual std::string BinFuncName() const override
virtual void GenSlidingWindowFunction(outputstream &ss, const std::string &sSymName, SubArguments &vSubArguments) override
virtual void GenSlidingWindowFunction(outputstream &ss, const std::string &sSymName, SubArguments &vSubArguments) override
virtual std::string BinFuncName() const override
virtual std::string BinFuncName() const override
virtual void GenSlidingWindowFunction(outputstream &ss, const std::string &sSymName, SubArguments &vSubArguments) override
virtual void BinInlineFun(std::set< std::string > &, std::set< std::string > &) override
virtual std::string BinFuncName() const override
virtual void GenSlidingWindowFunction(outputstream &ss, const std::string &sSymName, SubArguments &vSubArguments) override
virtual bool canHandleMultiVector() const override
virtual std::string BinFuncName() const override
virtual void GenSlidingWindowFunction(outputstream &ss, const std::string &sSymName, SubArguments &vSubArguments) override
virtual void GenSlidingWindowFunction(outputstream &ss, const std::string &sSymName, SubArguments &vSubArguments) override
virtual bool canHandleMultiVector() const override
virtual std::string BinFuncName() const override
virtual void GenSlidingWindowFunction(outputstream &ss, const std::string &sSymName, SubArguments &vSubArguments) override
virtual std::string BinFuncName() const override
virtual void GenSlidingWindowFunction(outputstream &ss, const std::string &sSymName, SubArguments &vSubArguments) override=0
void GenerateCode(outputstream &ss, const std::string &sSymName, SubArguments &vSubArguments, const char *finalComputeCode)
virtual void GenSlidingWindowFunction(outputstream &ss, const std::string &sSymName, SubArguments &vSubArguments) override
virtual std::string BinFuncName() const override
virtual void GenSlidingWindowFunction(outputstream &ss, const std::string &sSymName, SubArguments &vSubArguments) override
virtual std::string BinFuncName() const override
virtual std::string BinFuncName() const override
virtual void GenSlidingWindowFunction(outputstream &ss, const std::string &sSymName, SubArguments &vSubArguments) override
virtual void BinInlineFun(std::set< std::string > &, std::set< std::string > &) override
virtual std::string BinFuncName() const override
virtual void GenSlidingWindowFunction(outputstream &ss, const std::string &sSymName, SubArguments &vSubArguments) override
virtual std::string BinFuncName() const override
virtual bool forceStringsToZero() const override
OpMaxA(int nResultSize)
virtual void BinInlineFun(std::set< std::string > &decls, std::set< std::string > &funs) override
OpMax(int nResultSize)
virtual bool isMinOrMax() const override
virtual bool canHandleMultiVector() const override
virtual std::string BinFuncName() const override
virtual std::string GetBottom() override
virtual std::string Gen2(const std::string &lhs, const std::string &rhs) const override
virtual std::string BinFuncName() const override
virtual bool forceStringsToZero() const override
OpMinA(int nResultSize)
virtual void BinInlineFun(std::set< std::string > &decls, std::set< std::string > &funs) override
OpMin(int nResultSize)
virtual std::string GetBottom() override
virtual std::string Gen2(const std::string &lhs, const std::string &rhs) const override
virtual bool canHandleMultiVector() const override
virtual std::string BinFuncName() const override
virtual bool isMinOrMax() const override
virtual void GenSlidingWindowFunction(outputstream &ss, const std::string &sSymName, SubArguments &vSubArguments) override
virtual std::string BinFuncName() const override
virtual std::string BinFuncName() const override
virtual void GenSlidingWindowFunction(outputstream &ss, const std::string &sSymName, SubArguments &vSubArguments) override
virtual std::string BinFuncName() const override
virtual void BinInlineFun(std::set< std::string > &, std::set< std::string > &) override
virtual void GenSlidingWindowFunction(outputstream &ss, const std::string &sSymName, SubArguments &vSubArguments) override
virtual void GenSlidingWindowFunction(outputstream &ss, const std::string &sSymName, SubArguments &vSubArguments) override
virtual std::string BinFuncName() const override
virtual void GenSlidingWindowFunction(outputstream &ss, const std::string &sSymName, SubArguments &vSubArguments) override
virtual std::string BinFuncName() const override
virtual void BinInlineFun(std::set< std::string > &, std::set< std::string > &) override
virtual void GenSlidingWindowFunction(outputstream &ss, const std::string &sSymName, SubArguments &vSubArguments) override=0
void GenerateCode(outputstream &ss, const std::string &sSymName, SubArguments &vSubArguments, double minimalCountValue, const char *finalComputeCode)
virtual std::string BinFuncName() const override
virtual void GenSlidingWindowFunction(outputstream &ss, const std::string &sSymName, SubArguments &vSubArguments) override
virtual void GenSlidingWindowFunction(outputstream &ss, const std::string &sSymName, SubArguments &vSubArguments) override
virtual std::string BinFuncName() const override
virtual std::string BinFuncName() const override
virtual void GenSlidingWindowFunction(outputstream &ss, const std::string &sSymName, SubArguments &vSubArguments) override
virtual void GenSlidingWindowFunction(outputstream &ss, const std::string &sSymName, SubArguments &vSubArguments) override
virtual std::string BinFuncName() const override
virtual void GenSlidingWindowFunction(outputstream &ss, const std::string &sSymName, SubArguments &vSubArguments) override
virtual void BinInlineFun(std::set< std::string > &, std::set< std::string > &) override
virtual std::string BinFuncName() const override
virtual std::string BinFuncName() const override
virtual void GenSlidingWindowFunction(outputstream &ss, const std::string &sSymName, SubArguments &vSubArguments) override
virtual void GenSlidingWindowFunction(outputstream &ss, const std::string &sSymName, SubArguments &vSubArguments) override
virtual std::string BinFuncName() const override
virtual void GenSlidingWindowFunction(outputstream &ss, const std::string &sSymName, SubArguments &vSubArguments) override
virtual std::string BinFuncName() const override
virtual std::string BinFuncName() const override
virtual void GenSlidingWindowFunction(outputstream &ss, const std::string &sSymName, SubArguments &vSubArguments) override
virtual std::string BinFuncName() const override
virtual void GenSlidingWindowFunction(outputstream &ss, const std::string &sSymName, SubArguments &vSubArguments) override
virtual bool forceStringsToZero() const override
virtual std::string BinFuncName() const override
virtual bool forceStringsToZero() const override
virtual std::string BinFuncName() const override
virtual std::string BinFuncName() const override
virtual void GenSlidingWindowFunction(outputstream &ss, const std::string &sSymName, SubArguments &vSubArguments) override
virtual void GenSlidingWindowFunction(outputstream &ss, const std::string &sSymName, SubArguments &vSubArguments) override
virtual std::string BinFuncName() const override
virtual void GenSlidingWindowFunction(outputstream &ss, const std::string &sSymName, SubArguments &vSubArguments) override
virtual std::string BinFuncName() const override
virtual void BinInlineFun(std::set< std::string > &, std::set< std::string > &) override
virtual std::string BinFuncName() const override
virtual void GenSlidingWindowFunction(outputstream &ss, const std::string &sSymName, SubArguments &vSubArguments) override
virtual void BinInlineFun(std::set< std::string > &, std::set< std::string > &) override
virtual void GenSlidingWindowFunction(outputstream &ss, const std::string &sSymName, SubArguments &vSubArguments) override
virtual std::string BinFuncName() const override
virtual std::string BinFuncName() const override
virtual void BinInlineFun(std::set< std::string > &, std::set< std::string > &) override
virtual void GenSlidingWindowFunction(outputstream &ss, const std::string &sSymName, SubArguments &vSubArguments) override
virtual bool forceStringsToZero() const override
virtual std::string BinFuncName() const override
virtual std::string BinFuncName() const override
virtual bool forceStringsToZero() const override
virtual std::string BinFuncName() const override
virtual void GenSlidingWindowFunction(outputstream &ss, const std::string &sSymName, SubArguments &vSubArguments) override
void GenerateCode(outputstream &ss, const std::string &sSymName, SubArguments &vSubArguments)
virtual void BinInlineFun(std::set< std::string > &decls, std::set< std::string > &funs) override
virtual bool canHandleMultiVector() const override
virtual void GenSlidingWindowFunction(outputstream &ss, const std::string &sSymName, SubArguments &vSubArguments) override
virtual std::string BinFuncName() const override
virtual void GenSlidingWindowFunction(outputstream &ss, const std::string &sSymName, SubArguments &vSubArguments) override
virtual std::string BinFuncName() const override
virtual void GenSlidingWindowFunction(outputstream &ss, const std::string &sSymName, SubArguments &vSubArguments) override
virtual std::string BinFuncName() const override
virtual void BinInlineFun(std::set< std::string > &, std::set< std::string > &) override
std::vector< DynamicKernelArgumentRef > SubArguments
Definition: opbase.hxx:347