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 OpMedian: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 "OpMedian"; }
157};
158class OpNormsdist: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 "OpNormsdist"; }
163};
164class OpNorminv:public Normal{
165 public:
166 virtual void GenSlidingWindowFunction(outputstream &ss,
167 const std::string &sSymName, SubArguments &vSubArguments) override;
168 virtual std::string BinFuncName() const override { return "OpNorminv"; }
169 virtual void BinInlineFun(std::set<std::string>& ,std::set<std::string>&) override;
170};
171class OpNormsinv:public Normal{
172 public:
173 virtual void GenSlidingWindowFunction(outputstream &ss,
174 const std::string &sSymName, SubArguments &vSubArguments) override;
175 virtual std::string BinFuncName() const override { return "OpNormsinv"; }
176 virtual void BinInlineFun(std::set<std::string>& ,std::set<std::string>&) override;
177};
178class OpPhi:public Normal{
179 public:
180 virtual void GenSlidingWindowFunction(outputstream &ss,
181 const std::string &sSymName, SubArguments &vSubArguments) override;
182 virtual std::string BinFuncName() const override { return "OpPhi"; }
183};
184
185class OpPermut:public Normal{
186 public:
187 virtual void GenSlidingWindowFunction(outputstream &ss,
188 const std::string &sSymName, SubArguments &vSubArguments) override;
189 virtual std::string BinFuncName() const override { return "OpPermut"; }
190};
192 public:
193 virtual void GenSlidingWindowFunction(outputstream &ss,
194 const std::string &sSymName, SubArguments &vSubArguments) override;
195 virtual std::string BinFuncName() const override { return "OpPermutationA";}
196};
197
198class OpConfidence: public Normal
199{
200public:
201 virtual std::string GetBottom() override { return "0"; }
202
203 virtual void GenSlidingWindowFunction(outputstream& ss,
204 const std::string &sSymName, SubArguments& vSubArguments) override;
205 virtual void BinInlineFun(std::set<std::string>& ,
206 std::set<std::string>& ) override;
207
208 virtual std::string BinFuncName() const override { return "Confidence"; }
209};
210class OpLogInv: public Normal
211{
212public:
213 virtual void GenSlidingWindowFunction(outputstream &ss,
214 const std::string &sSymName, SubArguments &vSubArguments) override;
215 virtual std::string BinFuncName() const override { return "LogInv"; }
216 virtual void BinInlineFun(std::set<std::string>& ,std::set<std::string>&) override;
217};
218class OpCritBinom: public Normal
219{
220public:
221 virtual std::string GetBottom() override { return "0"; }
222
223 virtual void GenSlidingWindowFunction(outputstream& ss,
224 const std::string &sSymName, SubArguments& vSubArguments) override;
225 virtual void BinInlineFun(std::set<std::string>& ,
226 std::set<std::string>& ) override;
227
228 virtual std::string BinFuncName() const override { return "CritBinom"; }
229};
231{
232public:
233 virtual void GenSlidingWindowFunction(outputstream &ss,
234 const std::string &sSymName, SubArguments &vSubArguments) override;
235 virtual std::string BinFuncName() const override { return "LogNormdist"; }
236};
237class OpGammaDist: public Normal
238{
239public:
240 virtual void GenSlidingWindowFunction(outputstream &ss,
241 const std::string &sSymName, SubArguments &vSubArguments) override;
242 void BinInlineFun(std::set<std::string>& decls,std::set<std::string>& funs) override;
243 virtual std::string BinFuncName() const override { return "GammaDist"; }
244};
246 public:
247 virtual void GenSlidingWindowFunction(outputstream &ss,
248 const std::string &sSymName, SubArguments &vSubArguments) override;
249 virtual std::string BinFuncName() const override { return "OpHypGeomDist"; }
250};
251class OpChiDist:public Normal{
252 public:
253 virtual void GenSlidingWindowFunction(outputstream &ss,
254 const std::string &sSymName, SubArguments &vSubArguments) override;
255 virtual void BinInlineFun(std::set<std::string>& ,std::set<std::string>&) override;
256 virtual std::string BinFuncName() const override { return "OpChiDist"; }
257};
258class OpBinomdist:public Normal{
259 public:
260 virtual void GenSlidingWindowFunction(outputstream &ss,
261 const std::string &sSymName, SubArguments &vSubArguments) override;
262 virtual void BinInlineFun(std::set<std::string>& ,std::set<std::string>&) override;
263 virtual std::string BinFuncName() const override { return "OpBinomdist"; }
264};
266{
267public:
268 virtual void GenSlidingWindowFunction(outputstream &ss,
269 const std::string &sSymName, SubArguments &vSubArguments) override;
270 virtual std::string BinFuncName() const override { return "ChiSqDist"; }
271 virtual void BinInlineFun(std::set<std::string>& ,std::set<std::string>& ) override;
272};
273
275{
276public:
277 virtual void GenSlidingWindowFunction(outputstream &ss,
278 const std::string &sSymName, SubArguments &vSubArguments) override;
279 virtual std::string BinFuncName() const override { return "ChiSqInv"; }
280 virtual void BinInlineFun(std::set<std::string>& ,std::set<std::string>& ) override;
281};
282class OpChiInv:public Normal{
283 public:
284 virtual void GenSlidingWindowFunction(outputstream &ss,
285 const std::string &sSymName, SubArguments &vSubArguments) override;
286 virtual void BinInlineFun(std::set<std::string>& ,std::set<std::string>&) override;
287 virtual std::string BinFuncName() const override { return "OpChiInv"; }
288};
289class OpPoisson:public Normal{
290 public:
291 virtual void GenSlidingWindowFunction(outputstream &ss,
292 const std::string &sSymName, SubArguments &vSubArguments) override;
293 virtual void BinInlineFun(std::set<std::string>& ,std::set<std::string>&) override;
294 virtual std::string BinFuncName() const override { return "OpPoisson"; }
295};
296
297class OpGammaInv: public Normal
298{
299public:
300 virtual void GenSlidingWindowFunction(outputstream &ss,
301 const std::string &sSymName, SubArguments &vSubArguments) override;
302 void BinInlineFun(std::set<std::string>& decls,std::set<std::string>& funs
303) override;
304 virtual std::string BinFuncName() const override { return "GammaInv"; }
305};
306class OpFInv: public Normal
307{
308public:
309 virtual void GenSlidingWindowFunction(outputstream &ss,
310 const std::string &sSymName, SubArguments &vSubArguments) override;
311 void BinInlineFun(std::set<std::string>& decls,std::set<std::string>& funs
312) override;
313 virtual std::string BinFuncName() const override { return "FInv"; }
314};
315class OpFTest: public Normal
316{
317public:
318 virtual void GenSlidingWindowFunction(outputstream &ss,
319 const std::string &sSymName, SubArguments &vSubArguments) override;
320 void BinInlineFun(std::set<std::string>& decls,std::set<std::string>& funs
321) override;
322 virtual std::string BinFuncName() const override { return "FTest"; }
323};
324class OpDevSq: public Normal
325{
326public:
327 virtual void GenSlidingWindowFunction(outputstream &ss,
328 const std::string &sSymName, SubArguments &vSubArguments) override;
329 virtual std::string BinFuncName() const override { return "DevSq"; }
330 virtual bool canHandleMultiVector() const override { return true; }
331};
332class OpB: public Normal
333{
334public:
335 virtual void GenSlidingWindowFunction(outputstream &ss,
336 const std::string &sSymName, SubArguments &vSubArguments) override;
337 void BinInlineFun(std::set<std::string>& decls,std::set<std::string>& funs
338) override;
339 virtual std::string BinFuncName() const override { return "B"; }
340};
341class OpBetaDist: public Normal
342{
343public:
344 virtual void GenSlidingWindowFunction(outputstream &ss,
345 const std::string &sSymName, SubArguments &vSubArguments) override;
346 void BinInlineFun(std::set<std::string>& decls,std::set<std::string>& funs
347) override;
348 virtual std::string BinFuncName() const override { return "BetaDist"; }
349};
350class OpBetainv:public Normal{
351 public:
352 virtual void GenSlidingWindowFunction(outputstream &ss,
353 const std::string &sSymName, SubArguments &vSubArguments) override;
354 virtual void BinInlineFun(std::set<std::string>& ,std::set<std::string>&) override;
355 virtual std::string BinFuncName() const override { return "OpBetainv"; }
356};
357
358class OpAveDev: public Normal
359{
360public:
361 virtual void GenSlidingWindowFunction(outputstream &ss,
362 const std::string &sSymName, SubArguments &vSubArguments) override;
363 virtual std::string BinFuncName() const override { return "AveDev"; }
364 virtual bool canHandleMultiVector() const override { return true; }
365};
366
367class OpCovar: public Normal
368{
369public:
370 virtual void GenSlidingWindowFunction(outputstream& ss,
371 const std::string &sSymName, SubArguments& vSubArguments) override;
372 virtual std::string BinFuncName() const override { return "Covar"; }
373};
374
375class OpForecast: public Normal
376{
377public:
378 virtual void GenSlidingWindowFunction(outputstream &ss,
379 const std::string &sSymName, SubArguments &vSubArguments) override;
380 virtual std::string BinFuncName() const override { return "Forecast"; }
381};
382
384{
385public:
387 const std::string &sSymName, SubArguments &vSubArguments) override = 0;
388protected:
389 void GenerateCode( outputstream& ss, const std::string &sSymName,
390 SubArguments &vSubArguments, const char* finalComputeCode );
391};
392
394{
395public:
396 virtual void GenSlidingWindowFunction(outputstream &ss,
397 const std::string &sSymName, SubArguments &vSubArguments) override;
398 virtual std::string BinFuncName() const override { return "Intercept"; }
399};
400
402{
403public:
404 virtual void GenSlidingWindowFunction(outputstream &ss,
405 const std::string &sSymName, SubArguments &vSubArguments) override;
406 virtual std::string BinFuncName() const override { return "Slope"; }
407};
408
410{
411public:
413 const std::string &sSymName, SubArguments &vSubArguments) override = 0;
414protected:
415 void GenerateCode( outputstream& ss, const std::string &sSymName,
416 SubArguments &vSubArguments, double minimalCountValue, const char* finalComputeCode );
417};
418
420{
421public:
422 virtual void GenSlidingWindowFunction(outputstream &ss,
423 const std::string &sSymName, SubArguments &vSubArguments) override;
424 virtual std::string BinFuncName() const override { return "OpPearson"; }
425};
426
427class OpCorrel: public OpPearson // they are identical
428{
429public:
430 virtual std::string BinFuncName() const override { return "Correl"; }
431};
432
434{
435public:
436 virtual void GenSlidingWindowFunction(outputstream &ss,
437 const std::string &sSymName, SubArguments &vSubArguments) override;
438 virtual std::string BinFuncName() const override { return "STEYX"; }
439};
440
442{
443public:
444 virtual void GenSlidingWindowFunction(outputstream &ss,
445 const std::string &sSymName, SubArguments &vSubArguments) override;
446 virtual std::string BinFuncName() const override { return "OpRsq"; }
447};
448
449class OpVarStDevBase : public Normal
450{
451public:
452 virtual void BinInlineFun(std::set<std::string>& decls,std::set<std::string>& funs) override;
453 virtual bool canHandleMultiVector() const override { return true; }
454protected:
455 // Generates function setup and checks, then generates a loop that will calculate
456 // fMean and fCount from all arguments (ranges) and then a second loop that will
457 // calculate vSum (pown(fsub_approx(arg,fMean),2)) from all arguments.
458 void GenerateCode( outputstream& ss, const std::string& sSymName, SubArguments &vSubArguments );
459};
460
462{
463public:
464 virtual void GenSlidingWindowFunction(outputstream &ss,
465 const std::string &sSymName, SubArguments &vSubArguments) override;
466 virtual std::string BinFuncName() const override { return "Var"; }
467};
468
470{
471public:
472 virtual void GenSlidingWindowFunction(outputstream &ss,
473 const std::string &sSymName, SubArguments &vSubArguments) override;
474 virtual std::string BinFuncName() const override { return "VarP"; }
475};
476
478{
479public:
480 virtual void GenSlidingWindowFunction(outputstream &ss,
481 const std::string &sSymName, SubArguments &vSubArguments) override;
482 virtual std::string BinFuncName() const override { return "StDev"; }
483};
484
486{
487public:
488 virtual void GenSlidingWindowFunction(outputstream &ss,
489 const std::string &sSymName, SubArguments &vSubArguments) override;
490 virtual std::string BinFuncName() const override { return "StDevP"; }
491};
492
494{
495public:
496 virtual void GenSlidingWindowFunction(outputstream &ss,
497 const std::string &sSymName, SubArguments &vSubArguments) override;
498 virtual std::string BinFuncName() const override { return "Skew"; }
499};
500
502{
503public:
504 virtual void GenSlidingWindowFunction(outputstream &ss,
505 const std::string &sSymName, SubArguments &vSubArguments) override;
506 virtual std::string BinFuncName() const override { return "Skewp"; }
507};
508
510{
511public:
512 virtual void GenSlidingWindowFunction(outputstream &ss,
513 const std::string &sSymName, SubArguments &vSubArguments) override;
514 virtual std::string BinFuncName() const override { return "Kurt"; }
515};
516
517class OpMin : public Reduction
518{
519public:
520 explicit OpMin(int nResultSize) : Reduction(nResultSize) {}
521
522 virtual std::string GetBottom() override { return "NAN"; }
523 virtual std::string Gen2( const std::string& lhs, const std::string& rhs ) const override
524 {
525 return "fmin_count(" + lhs + "," + rhs + ", &nCount)";
526 }
527 virtual void BinInlineFun(std::set<std::string>& decls,std::set<std::string>& funs) override;
528 virtual std::string BinFuncName() const override { return "min"; }
529 virtual bool isMinOrMax() const override { return true; }
530 virtual bool canHandleMultiVector() const override { return true; }
531};
532
533class OpMax : public Reduction
534{
535public:
536 explicit OpMax(int nResultSize) : Reduction(nResultSize) {}
537
538 virtual std::string GetBottom() override { return "NAN"; }
539 virtual std::string Gen2( const std::string& lhs, const std::string& rhs ) const override
540 {
541 return "fmax_count(" + lhs + "," + rhs + ", &nCount)";
542 }
543 virtual void BinInlineFun(std::set<std::string>& decls,std::set<std::string>& funs) override;
544 virtual std::string BinFuncName() const override { return "max"; }
545 virtual bool isMinOrMax() const override { return true; }
546 virtual bool canHandleMultiVector() const override { return true; }
547};
548
549class OpAverage : public Reduction
550{
551public:
552 explicit OpAverage(int nResultSize) : Reduction(nResultSize) {}
553
554 virtual std::string GetBottom() override { return "0"; }
555 virtual std::string Gen2( const std::string& lhs, const std::string& rhs ) const override
556 {
557 outputstream ss;
558 ss << "fsum_count(" << lhs << "," << rhs << ", &nCount)";
559 return ss.str();
560 }
561 virtual void BinInlineFun(std::set<std::string>& decls,std::set<std::string>& funs) override;
562 virtual std::string BinFuncName() const override { return "average"; }
563 virtual bool isAverage() const override { return true; }
564 virtual bool canHandleMultiVector() const override { return true; }
565};
566
567class OpCount : public Reduction
568{
569public:
570 explicit OpCount(int nResultSize) : Reduction(nResultSize) {}
571
572 virtual std::string GetBottom() override { return "0"; }
573 virtual std::string Gen2( const std::string& lhs, const std::string& rhs ) const override
574 {
575 outputstream ss;
576 ss << "(isnan(" << lhs << ")?" << rhs << ":" << rhs << "+1.0)";
577 return ss.str();
578 }
579 virtual std::string BinFuncName() const override { return "fcount"; }
580 virtual bool canHandleMultiVector() const override { return true; }
581};
582
583class OpCountA: public OpCount
584{
585public:
586 explicit OpCountA(int nResultSize) : OpCount(nResultSize) {}
587 virtual std::string BinFuncName() const override { return "OpCountA"; }
588 virtual bool forceStringsToZero() const override { return true; }
589};
590class OpMaxA: public OpMax
591{
592public:
593 explicit OpMaxA(int nResultSize) : OpMax(nResultSize) {}
594 virtual std::string BinFuncName() const override { return "OpMaxA"; }
595 virtual bool forceStringsToZero() const override { return true; }
596};
597class OpMinA : public OpMin
598{
599public:
600 explicit OpMinA(int nResultSize) : OpMin(nResultSize) {}
601 virtual std::string BinFuncName() const override { return "OpMinA"; }
602 virtual bool forceStringsToZero() const override { return true; }
603};
604class OpVarA: public OpVar
605{
606public:
607 virtual std::string BinFuncName() const override { return "OpVarA"; }
608 virtual bool forceStringsToZero() const override { return true; }
609};
610class OpVarPA: public OpVarP
611{
612public:
613 virtual std::string BinFuncName() const override { return "OpVarPA"; }
614 virtual bool forceStringsToZero() const override { return true; }
615};
616class OpStDevPA: public OpStDevP
617{
618public:
619 virtual std::string BinFuncName() const override { return "OpStDevPA"; }
620 virtual bool forceStringsToZero() const override { return true; }
621};
623{
624public:
625 explicit OpAverageA(int nResultSize) : OpAverage(nResultSize) {}
626 virtual std::string BinFuncName() const override { return "OpAverageA"; }
627 virtual bool forceStringsToZero() const override { return true; }
628};
629class OpStDevA: public OpStDev
630{
631public:
632 virtual std::string BinFuncName() const override { return "OpStDevA"; }
633 virtual bool forceStringsToZero() const override { return true; }
634};
635
636}
637
638/* 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 void GenSlidingWindowFunction(outputstream &ss, const std::string &sSymName, SubArguments &vSubArguments) 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:340
Arguments that are actually compile-time constant string Currently, only the hash is passed.