LibreOffice Module sc (master) 1
Classes | Typedefs | Functions
sc::opencl Namespace Reference

Arguments that are actually compile-time constant string Currently, only the hash is passed. More...

Classes

class  CheckVariables
 
class  Cumipmt
 
class  DynamicKernelArgument
 (Partially) abstract base class for an operand More...
 
class  FormulaGroupInterpreterOpenCL
 
class  FormulaTreeNode
 
class  Fvschedule
 
class  InvalidParameterCount
 
class  IRR
 
class  MIRR
 
class  Normal
 
class  OpAbs
 
class  OpAccrint
 
class  OpAccrintm
 
class  OpAmordegrc
 
class  OpAmorlinc
 
class  OpAnd
 
class  OpArcCos
 
class  OpArcCosHyp
 
class  OpArcCot
 
class  OpArcCotHyp
 
class  OpArcSin
 
class  OpArcSinHyp
 
class  OpArcTan
 
class  OpArcTan2
 
class  OpArcTanH
 
class  OpAveDev
 
class  OpAverageA
 
class  OpAverageIf
 
class  OpAverageIfs
 
class  OpB
 
class  OpBase
 Abstract class for code generation. More...
 
class  OpBesselj
 
class  OpBetaDist
 
class  OpBetainv
 
class  OpBinomdist
 
class  OpBitAnd
 
class  OpBitLshift
 
class  OpBitOr
 
class  OpBitRshift
 
class  OpBitXor
 
class  OpCeil
 
class  OpChiDist
 
class  OpChiInv
 
class  OpChiSqDist
 
class  OpChiSqInv
 
class  OpCombin
 
class  OpCombinA
 
class  OpConfidence
 
class  OpConvert
 
class  OpCorrel
 
class  OpCos
 
class  OpCosh
 
class  OpCot
 
class  OpCoth
 
class  OpCountA
 
class  OpCountIf
 
class  OpCountIfs
 
class  OpCoupdaybs
 
class  OpCoupdays
 
class  OpCoupdaysnc
 
class  OpCoupncd
 
class  OpCoupnum
 
class  OpCouppcd
 
class  OpCovar
 
class  OpCritBinom
 
class  OpCsc
 
class  OpCscH
 
class  OpCumipmt
 
class  OpCumprinc
 
class  OpDaverage
 
class  OpDB
 
class  OpDcount
 
class  OpDcount2
 
class  OpDDB
 
class  OpDeg
 
class  OpDevSq
 
class  OpDISC
 
class  OpDmax
 
class  OpDmin
 
class  OpDollarde
 
class  OpDollarfr
 
class  OpDproduct
 
class  OpDstdev
 
class  OpDstdevp
 
class  OpDsum
 
class  OpDuration_ADD
 
class  OpDvar
 
class  OpDvarp
 
class  OpEffective
 
class  OpenCLError
 Failed in marshaling. More...
 
class  OpEven
 
class  OpExp
 
class  OpExponDist
 
class  OpFact
 
class  OpFdist
 
class  OpFInv
 
class  OpFisher
 
class  OpFisherInv
 
class  OpFloor
 
class  OpForecast
 
class  OpFTest
 
class  OpFV
 
class  OpFvschedule
 
class  OpGamma
 
class  OpGammaDist
 
class  OpGammaInv
 
class  OpGammaLn
 
class  OpGauss
 
class  OpGeoMean
 
class  OpGestep
 
class  OpHarMean
 
class  OpHypGeomDist
 
class  OpIf
 
class  OpInt
 
class  OpIntercept
 
class  OpIntrate
 
class  OpINTRATE
 
class  OpIPMT
 
class  OpIRR
 
class  OpIsEven
 
class  OpIsOdd
 
class  OpISPMT
 
class  OpKurt
 
class  OpLn
 
class  OpLog
 
class  OpLog10
 
class  OpLogInv
 
class  OpLogNormDist
 
class  OpMaxA
 
class  OpMDuration
 
class  OpMedian
 
class  OpMinA
 
class  OpMIRR
 
class  OpMod
 
class  OpMROUND
 
class  OpNegbinomdist
 
class  OpNegSub
 
class  OpNominal
 
class  OpNormdist
 
class  OpNorminv
 
class  OpNormsdist
 
class  OpNormsinv
 
class  OpNot
 
class  OpNper
 
class  OpNPV
 
class  OpOdd
 
class  OpOddlprice
 
class  OpOddlyield
 
class  OpOr
 
class  OpPDuration
 
class  OpPearson
 
class  OpPermut
 
class  OpPermutationA
 
class  OpPhi
 
class  OpPMT
 
class  OpPoisson
 
class  OpPower
 
class  OpPPMT
 
class  OpPrice
 
class  OpPriceDisc
 
class  OpPriceMat
 
class  OpProduct
 
class  OpPV
 
class  OpQuotient
 
class  OpRadians
 
class  OpReceived
 
class  OpRound
 
class  OpRoundDown
 
class  OpRoundUp
 
class  OpRRI
 
class  OpRsq
 
class  OpSec
 
class  OpSecH
 
class  OpSeriesSum
 
class  OpSin
 
class  OpSinh
 
class  OpSkew
 
class  OpSkewp
 
class  OpSLN
 
class  OpSlope
 
class  OpSqrt
 
class  OpSqrtPi
 
class  OpStandard
 
class  OpStDev
 
class  OpStDevA
 
class  OpStDevP
 
class  OpStDevPA
 
class  OpSTEYX
 
class  OpSumIf
 
class  OpSumIfs
 
class  OpSumSQ
 
class  OpSumX2MY2
 
class  OpSumX2PY2
 
class  OpSumXMY2
 
class  OpSYD
 
class  OpTan
 
class  OpTanH
 
class  OpTbilleq
 
class  OpTbillprice
 
class  OpTbillyield
 
class  OpTDist
 
class  OpTInv
 
class  OpTrunc
 
class  OpTTest
 
class  OpVar
 
class  OpVarA
 
class  OpVarP
 
class  OpVarPA
 
class  OpVDB
 
class  OpVLookup
 
class  OpWeibull
 
class  OpXirr
 
class  OpXNPV
 
class  OpXor
 
class  OpYield
 
class  OpYielddisc
 
class  OpYieldmat
 
class  OpZTest
 
class  PriceMat
 
class  RATE
 
class  RRI
 
class  SlidingFunctionBase
 
class  Unhandled
 Inconsistent state. More...
 
class  UnhandledToken
 Exceptions. More...
 
class  VectorRef
 Holds an input (read-only) argument reference to a SingleVectorRef. More...
 
class  XNPV
 

Typedefs

typedef std::shared_ptr< FormulaTreeNodeFormulaTreeNodeRef
 
typedef std::shared_ptr< DynamicKernelArgumentDynamicKernelArgumentRef
 

Functions

static DynamicKernelArgumentRef SoPHelper (const ScCalcConfig &config, const std::string &ts, const FormulaTreeNodeRef &ft, std::shared_ptr< SlidingFunctionBase > pCodeGen, int nResultSize)
 
template<class Base >
static std::shared_ptr< DynamicKernelArgumentVectorRefFactory (const ScCalcConfig &config, const std::string &s, const FormulaTreeNodeRef &ft, std::shared_ptr< SlidingFunctionBase > &pCodeGen, int index)
 

Detailed Description

Arguments that are actually compile-time constant string Currently, only the hash is passed.

TBD(IJSUNG): pass also length and the actual string if there is a hash function collision FIXME: This idea of passing of hashes of uppercased strings into OpenCL code is fairly potent crack. It is hopefully not used at all any more, but noticing that there are string arguments automatically disables use of OpenCL for a formula group. If at some point there are resources to drain the OpenCL swamp, this should go away.

Typedef Documentation

◆ DynamicKernelArgumentRef

Definition at line 151 of file opbase.hxx.

◆ FormulaTreeNodeRef

Definition at line 81 of file opbase.hxx.

Function Documentation

◆ SoPHelper()

static DynamicKernelArgumentRef sc::opencl::SoPHelper ( const ScCalcConfig config,
const std::string &  ts,
const FormulaTreeNodeRef ft,
std::shared_ptr< SlidingFunctionBase pCodeGen,
int  nResultSize 
)
static

Definition at line 2650 of file formulagroupcl.cxx.

References config, and ft.

◆ VectorRefFactory()

template<class Base >
static std::shared_ptr< DynamicKernelArgument > sc::opencl::VectorRefFactory ( const ScCalcConfig config,
const std::string &  s,
const FormulaTreeNodeRef ft,
std::shared_ptr< SlidingFunctionBase > &  pCodeGen,
int  index 
)
static