From 76d8965ec49b52ea94aefcc85d9cabbeea49a77a Mon Sep 17 00:00:00 2001 From: lehugueni Date: Thu, 21 Nov 2024 10:22:32 +0100 Subject: [PATCH] fix params in bts shallowcopy --- circuits/ckks/bootstrapping/evaluator.go | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/circuits/ckks/bootstrapping/evaluator.go b/circuits/ckks/bootstrapping/evaluator.go index 8db38f42..606af81c 100644 --- a/circuits/ckks/bootstrapping/evaluator.go +++ b/circuits/ckks/bootstrapping/evaluator.go @@ -134,11 +134,12 @@ func (eval Evaluator) ShallowCopy() *Evaluator { heEvaluator := eval.Evaluator.ShallowCopy() paramsN1 := eval.ResidualParameters + paramsN2 := eval.BootstrappingParameters var DomainSwitcher ckks.DomainSwitcher if paramsN1.RingType() == ring.ConjugateInvariant { var err error - if DomainSwitcher, err = ckks.NewDomainSwitcher(eval.Parameters.BootstrappingParameters, eval.EvkCmplxToReal, eval.EvkRealToCmplx); err != nil { + if DomainSwitcher, err = ckks.NewDomainSwitcher(paramsN2, eval.EvkCmplxToReal, eval.EvkRealToCmplx); err != nil { panic(fmt.Errorf("cannot NewBootstrapper: ckks.NewDomainSwitcher: %w", err)) } } @@ -153,8 +154,8 @@ func (eval Evaluator) ShallowCopy() *Evaluator { xPow2N2: eval.xPow2N2, xPow2InvN2: eval.xPow2InvN2, DomainSwitcher: DomainSwitcher, - DFTEvaluator: dft.NewEvaluator(paramsN1, heEvaluator), - Mod1Evaluator: mod1.NewEvaluator(heEvaluator, polynomial.NewEvaluator(paramsN1, heEvaluator), eval.Mod1Parameters), + DFTEvaluator: dft.NewEvaluator(paramsN2, heEvaluator), + Mod1Evaluator: mod1.NewEvaluator(heEvaluator, polynomial.NewEvaluator(paramsN2, heEvaluator), eval.Mod1Parameters), SkDebug: eval.SkDebug, } }