Función WavePrefixProduct
Devuelve el producto de todos los valores de los carriles activos de esta onda con índices inferiores a este carril.
Sintaxis
<type> WavePrefixProduct(
<type> value
);
Parámetros
value
Valor que se va a multiplicar.
Valor devuelto
Producto de todos los valores.
Comentarios
No se puede garantizar el orden de las operaciones en esta rutina. Por lo tanto, efectivamente, la marca [precisa] se omite dentro de ella.
Un producto de postfijo se puede calcular multiplicando el producto de prefijo por el valor del carril actual.
Tenga en cuenta que el carril activo con el índice más bajo siempre recibirá un 1 para su producto de prefijo.
Esta función es compatible con el modelo de sombreador 6.0 en todas las fases del sombreador.
Ejemplos
uint numToMultiply = 2;
uint prefixProduct = WavePrefixProduct( numToMultiply );
En una máquina con un tamaño de onda de 8, y todos los carriles activos excepto los carriles 0 y 4, los valores siguientes se devolverían de WavePrefixProduct.
índice de carril | status | prefixProduct |
---|---|---|
0 | inactivo | N/D |
1 | active | = 1 |
2 | active | = 1*2 |
3 | active | = 1*2*2 |
4 | inactivo | N/D |
5 | active | = 1*2*2*2*2 |
6 | active | = 1*2*2*2*2*2 |
7 | active | = 1*2*2*2*2*2*2 |