File tree Expand file tree Collapse file tree
src/primitives/containers Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -104,26 +104,24 @@ class SamplerPubResult {
104104 std::cerr << " SamplerPubResult Error : JSON result does not contain data section " << std::endl;
105105 return false ;
106106 }
107- if (!input[" data" ].contains (" c" )) {
108- std::cerr << " SamplerPubResult Error : JSON result does not contain creg section " << std::endl;
109- return false ;
110- }
111107
112- auto data = input[" data" ][ " c " ] ;
108+ auto data = input[" data" ];
113109
114- uint_t total_bits = 0 ;
115- for (auto creg : pub_.circuit ().cregs ()) {
116- total_bits += creg.size ();
110+ for (auto creg : pub_.circuit ().cregs ()) {
111+ if (!data.contains (creg.name ())) {
112+ std::cerr << " SamplerPubResult Error : JSON result does not contain "
113+ " creg section for "
114+ << creg.name ()
115+ << std::endl;
116+ return false ;
117+ }
117118 }
118- // read all bits
119- BitArray allbits;
120- allbits.set_bits (total_bits);
121- allbits.from_json (data);
122119
123- total_bits = 0 ;
124- for (auto creg : pub_.circuit ().cregs ()) {
125- data_[creg.name ()] = allbits.get_subset (total_bits, creg.size ());
126- total_bits += creg.size ();
120+ for (auto creg : pub_.circuit ().cregs ()) {
121+ BitArray bits;
122+ bits.set_bits (creg.size ());
123+ bits.from_json (data[creg.name ()]);
124+ data_[creg.name ()] = bits;
127125 }
128126
129127 return true ;
You can’t perform that action at this time.
0 commit comments