Skip to content

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

@mbuchberger1967

Description

@mbuchberger1967

Describe the bug

template <class Type>
QubitRegister<Type>::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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions