in src/braket/ocean_plugin/braket_sampler.py [0:0]
def _result_to_response_hook(variables: Set[int] = None):
def _hook(computation):
result: AnnealingQuantumTaskResult = computation.result()
# get the samples. The future will return all spins so filter for the ones in variables
vars = BraketSampler._vars_from_variables(result, variables)
samples = [sample for sample in result.record_array.solution]
energy = result.record_array.value
num_occurrences = result.record_array.solution_count
info = {
"taskMetadata": result.task_metadata.dict(),
"additionalMetadata": result.additional_metadata.dict(),
}
vartype = BraketSampler._vartype_from_problem_type(result.problem_type)
return SampleSet.from_samples(
(samples, vars),
info=info,
vartype=vartype,
energy=energy,
num_occurrences=num_occurrences,
sort_labels=True,
)
return _hook