private GreenTensor CalculateAsymGreenTensorAtoA() { _plan.SetOnlyAsym(); var trcAsym = TranceiverUtils.CreateAnomalyToAnomaly(Model.Anomaly); MemoryUtils.PrintMemoryReport("Before scalars ASYM", Logger, MemoryProvider); var scalarsAsym = CalculateScalars(_plan, trcAsym.ToArray()); MemoryUtils.PrintMemoryReport("After scalars ASYM", Logger, MemoryProvider); using (Profiler?.StartAuto(ProfilerEvent.GreenTensorAtoA)) { GreenTensor tensor; using (Profiler?.StartAuto(ProfilerEvent.GreenTensorAtoACalc)) { MemoryUtils.PrintMemoryReport("Before tensors ASYM", Logger, MemoryProvider); tensor = _tensorCalc.CalculateAsymAtoA(scalarsAsym, MemoryLayoutOrder.AlongVertical, _mirroringX); MemoryUtils.PrintMemoryReport("after tensor ASYM", Logger, MemoryProvider); scalarsAsym.Dispose(); MemoryUtils.PrintMemoryReport("after SCAl Dispose ASYM", Logger, MemoryProvider); } PopulateForFft(tensor, MemoryLayoutOrder.AlongVertical, _totalNxLength); if (_mirroringX) { AddMinusToXz(tensor); } using (Profiler?.StartAuto(ProfilerEvent.GreenTensorAtoAFft)) { PerformFftAsym(tensor, MemoryLayoutOrder.AlongVertical); } return(tensor); } }