The Quantum Exact Simulation Toolkit v4.2.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 334 of file qureg.cpp.

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

Referenced by 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().