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

Function getFixedRemainingArgs

tests/unit/operations.cpp:810–824  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

808
809template <NumQubitsFlag Targs, ArgsFlag Args>
810auto getFixedRemainingArgs(vector<int> targs) {
811
812 // getPauliStr uses gives length-3 hardcoded string
813 if constexpr (Args == paulistr || Args == pauligad)
814 DEMAND( targs.size() == 3 );
815
816 if constexpr (Args == none) return tuple{ };
817 if constexpr (Args == scalar) return tuple{ 0 }; // angle
818 if constexpr (Args == axisrots) return tuple{ 0, 1,1,1 }; // (angle,x,y,z)
819 if constexpr (Args == compmatr) return tuple{ getIdentityApiMatrix<Targs,Args>(targs.size()) }; // id
820 if constexpr (Args == diagmatr) return tuple{ getIdentityApiMatrix<Targs,Args>(targs.size()) }; // id
821 if constexpr (Args == diagpower) return tuple{ getIdentityApiMatrix<Targs,Args>(targs.size()), qcomp(1,0) }; // (id, exponent)
822 if constexpr (Args == paulistr) return tuple{ getPauliStr("XXX", targs) }; // XXX
823 if constexpr (Args == pauligad) return tuple{ getPauliStr("XXX", targs), 0 }; // (XXX, angle)
824}
825
826template <NumQubitsFlag Ctrls, NumQubitsFlag Targs, ArgsFlag Args, ApplyFlag Apply>
827void testOperationValidation(auto operation) {

Callers

nothing calls this directly

Calls 1

getPauliStrFunction · 0.85

Tested by

no test coverage detected