The Quantum Exact Simulation Toolkit v4.0.0
 v4.0.0
All Classes Functions Variables Typedefs Modules Pages
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 330 of file qureg.cpp.

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

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(), and TEST_CASE().