Hi, I was trying to understand whether the EvalSumRows and EvalSumCols functions implemented in OpenFHE for CKKS implicitly leverage hoisting.
By looking at the code, I found thatEvalFastRotate, which does use hoisting as per the documentation, calls EvalFastKeySwitchCore ( openfhe-development/src/pke/lib/schemebase/base-leveledshe.cpp at main · openfheorg/openfhe-development · GitHub ).
On the other hand,EvalSumRows and EvalSumColsperform the following sequence of calls: EvalSum2nComplexRows → EvalAutomorphism → KeySwitchInPlace → KeySwitchCore → EvalFastKeySwitchCore ( openfhe-development/src/pke/lib/keyswitch/keyswitch-hybrid.cpp at main · openfheorg/openfhe-development · GitHub ).
Does this mean that hoisting is also leveraged under the hood for these two functions?
Thank for your response.