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

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

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