The Quantum Exact Simulation Toolkit v4.3.0
Loading...
Searching...
No Matches
Destructors

Functions for destroying existing Qureg. More...

Functions

void destroyQureg (Qureg qureg)
 

Detailed Description

Functions for destroying existing Qureg.

Function Documentation

◆ destroyQureg()

void destroyQureg ( Qureg qureg)
Note
Documentation for this function or struct is under construction!

Definition at line 340 of file qureg.cpp.

340 {
341 validate_quregFields(qureg, __func__);
342
343 // free CPU memory
344 cpu_deallocNumaArray(qureg.cpuAmps, qureg.numAmpsPerNode);
345
346 // free CPU communication buffer
347 if (qureg.isDistributed)
348 cpu_deallocArray(qureg.cpuCommBuffer);
349
350 // free GPU memory
351 if (qureg.isGpuAccelerated)
352 gpu_deallocArray(qureg.gpuAmps);
353
354 // free GPU communication buffer
355 if (qureg.isGpuAccelerated && qureg.isDistributed)
356 gpu_deallocArray(qureg.gpuCommBuffer);
357
358 // cannot set free'd fields to nullptr because qureg
359 // wasn't passed-by-reference, and isn't returned.
360}

Referenced by createQuregFromFile(), TEST_CASE(), TEST_CASE(), TEST_CASE(), TEST_CASE(), TEST_CASE(), TEST_CASE(), TEST_CASE(), TEST_CASE(), TEST_CASE(), TEST_CASE(), TEST_CASE(), TEST_CASE(), TEST_CASE(), TEST_CASE(), TEST_CASE(), TEST_CASE(), TEST_CASE(), TEST_CASE(), TEST_CASE(), TEST_CASE(), TEST_CASE(), TEST_CASE(), TEST_CASE(), TEST_CASE(), TEST_CASE(), TEST_CASE(), TEST_CASE(), TEST_CASE(), TEST_CASE(), TEST_CASE(), TEST_CASE(), TEST_CASE(), TEST_CASE(), TEST_CASE(), TEST_CASE(), TEST_CASE(), TEST_CASE(), TEST_CASE(), TEST_CASE(), TEST_CASE(), TEST_CASE(), TEST_CASE(), TEST_CASE(), TEST_CASE(), TEST_CASE(), TEST_CASE(), TEST_CASE(), TEST_CASE(), TEST_CASE(), TEST_CASE(), TEST_CASE(), TEST_CASE(), TEST_CASE(), TEST_CASE(), TEST_CASE(), TEST_CASE(), TEST_CASE(), and TEST_CASE().