Commit b757fb61 authored by Davis King's avatar Davis King

Changed code so that it compiles in visual studio.

--HG--
extra : convert_revision : svn%3Afdd8eb12-d10e-0410-9acb-85c331704f74/trunk%402782
parent 8ab03ffc
......@@ -18,6 +18,7 @@
#include <iostream>
#include <complex>
#include <ctime>
#include "dlib/quantum_computing.h"
#include "dlib/string.h"
......@@ -121,6 +122,15 @@ bool is_key (unsigned long n)
// ----------------------------------------------------------------------------------------
template <int bits>
class uf_gate;
template <int bits>
struct gate_traits<uf_gate<bits> >
{
static const long num_bits = bits;
static const long dims = dlib::qc_helpers::exp_2_n<num_bits>::value;
};
template <int bits>
class uf_gate : public gate_exp<uf_gate<bits> >
{
......@@ -135,8 +145,8 @@ class uf_gate : public gate_exp<uf_gate<bits> >
public:
uf_gate() : gate_exp<uf_gate>(*this) {}
static const long num_bits = bits;
static const long dims = dlib::qc_helpers::exp_2_n<num_bits>::value;
static const long num_bits = gate_traits<uf_gate>::num_bits;
static const long dims = gate_traits<uf_gate>::dims;
const qc_scalar_type operator() (long r, long c) const
{
......@@ -172,6 +182,15 @@ public:
// ----------------------------------------------------------------------------------------
template <int bits>
class w_gate;
template <int bits>
struct gate_traits<w_gate<bits> >
{
static const long num_bits = bits;
static const long dims = dlib::qc_helpers::exp_2_n<num_bits>::value;
};
template <int bits>
class w_gate : public gate_exp<w_gate<bits> >
{
......@@ -182,8 +201,8 @@ public:
w_gate() : gate_exp<w_gate>(*this) {}
static const long num_bits = bits;
static const long dims = dlib::qc_helpers::exp_2_n<num_bits>::value;
static const long num_bits = gate_traits<w_gate>::num_bits;
static const long dims = gate_traits<w_gate>::dims;
const qc_scalar_type operator() (long r, long c) const
{
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment