#pragma once

#include "ComplexNumber.h"

#include <string>

class Qubit
{
public:
	Qubit(const ComplexNumber& alpha = {1.0, 0.0}, const ComplexNumber& beta = { 0.0, 0.0 });

	const ComplexNumber& getAlpha() const;

	const ComplexNumber& getBeta() const;

	bool isIn0State() const;

	bool isIn1State() const;

	std::string toString(std::size_t precision=3) const;
private:
	ComplexNumber mAlpha;
	ComplexNumber mBeta;
};