Operación IterateThroughCartesianProduct
Advertencia
Esta documentación hace referencia al QDK clásico, que se ha reemplazado por el QDK moderno.
https://aka.ms/qdk.api Consulte la documentación de la API para el QDK moderno.
Espacio de nombres: Microsoft.Quantum.Canon
Paquete: Microsoft.Quantum.Standard
Aplica una operación para cada índice del producto cartesiano de varios rangos.
operation IterateThroughCartesianProduct (bounds : Int[], op : (Int[] => Unit)) : Unit
Descripción
Aplica iterativamente una operación para cada elemento del producto cartesiano de 0..(bounds[0] - 1)
, , 0..(bounds[1] - 1)
..., 0..(bounds[Length(bounds) - 1] - 1)
Entrada
bounds : Int[]
Matriz que especifica los intervalos que se van a iterar, con cada intervalo especificado como una longitud entera.
op : Int[] =>Unit
Operación a la que se llamará para cada elemento del producto cartesiano especificado.
Salida: unidad
Ejemplo
Dada una operación op
, los dos fragmentos de código siguientes son equivalentes:
IterateThroughCartesianProduct([3, 4, 5], op);
op([0, 0, 0]);
op([1, 0, 0]);
op([2, 0, 0]);
op([0, 1, 0]);
// ...
op([0, 3, 0]);
op([0, 0, 1]);
//
op([2, 3, 4]);