intel / intel/intel-qs

QubitRegister<Type>::QubitRegister(new_num_qubits, Type *state) doesnt work correctly

Open
#56 3 comments 0 reactions 0 assignees View on GitHub
Dominant language
C++
Stars
264
Forks
76
Avg merge
8d 11h
Merged PRs (30d)
2

Description

**Describe the bug**
```
template
QubitRegister::QubitRegister(std::size_t new_num_qubits, Type *state,
std::size_t tmp_spacesize_)
{
imported_state = true;
Initialize(new_num_qubits, tmp_spacesize_);

this->state = state;
}
```

has two problems:

1. it doesn't initialize all needed class variables, e.g. "specialized", so this flag is sometimes true, sometimes false
2. it doesn't work if USE_MM_ALLOC is not defined -> memory crash

**To Reproduce**
Steps to reproduce the behavior:
Use the ctor and initialize the statevector with a prepared memory pointer, undef MM_USE_MALLOC

**Fixes**
1. init all class variables in the declaration
2. add code for undef USE_MM_MALLOC with a specialized AlignedAllocator to transport the memory block into state_storage

See my PR #57

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.