MCPcopy Create free account
hub / github.com/QuEST-Kit/QuEST / getRandomVariNumCtrlsStatesTargs

Function getRandomVariNumCtrlsStatesTargs

tests/utils/random.cpp:190–206  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

188
189
190listtrio getRandomVariNumCtrlsStatesTargs(int numQubits, int minNumTargs, int maxNumTargsIncl) {
191 DEMAND( minNumTargs <= maxNumTargsIncl );
192 DEMAND( maxNumTargsIncl <= numQubits );
193
194 int numTargs = getRandomInt(minNumTargs, maxNumTargsIncl+1);
195
196 // numCtrls in [0, remainingNumQb]
197 int minNumCtrls = 0;
198 int maxNumCtrls = numQubits - numTargs;
199 int numCtrls = getRandomInt(minNumCtrls, maxNumCtrls+1);
200
201 // distribute qubits randomly
202 auto [ctrls,targs] = getRandomFixedNumCtrlsTargs(numQubits, numCtrls, numTargs);
203 vector<int> states = getRandomInts(0, 2, numCtrls);
204
205 return tuple{ctrls,states,targs};
206}
207
208
209

Callers 1

Calls 3

getRandomIntsFunction · 0.85
getRandomIntFunction · 0.70

Tested by

no test coverage detected