private GreenTensor CalculateSymmGreenTensorAtoA() { _plan.SetOnlySymm(); var trcSymm = TranceiverUtils.CreateAnomalyToAnomalySymm(Model.Anomaly); MemoryUtils.PrintMemoryReport("Before scalars SYM", Logger, MemoryProvider); var scalarsSymm = CalculateScalars(_plan, trcSymm.ToArray()); MemoryUtils.PrintMemoryReport("After scalars SYM", Logger, MemoryProvider); using (Profiler?.StartAuto(ProfilerEvent.GreenTensorAtoA)) { GreenTensor tensor; using (Profiler?.StartAuto(ProfilerEvent.GreenTensorAtoACalc)) { MemoryUtils.PrintMemoryReport("Before tensors SYM", Logger, MemoryProvider); tensor = _tensorCalc.CalculateSymmAtoA(scalarsSymm, MemoryLayoutOrder.AlongVertical, _mirroringX); MemoryUtils.PrintMemoryReport("After tensors SYM", Logger, MemoryProvider); scalarsSymm.Dispose(); MemoryUtils.PrintMemoryReport("after SCAl Dispose SYM", Logger, MemoryProvider); } PopulateForFft(tensor, MemoryLayoutOrder.AlongVertical, _totalNxLength, true); if (_mirroringX) { AddMinusToXy(tensor); } using (Profiler?.StartAuto(ProfilerEvent.GreenTensorAtoAFft)) { PerformFftSymm(tensor, MemoryLayoutOrder.AlongVertical); } return(tensor); } }