Cg 3.1 Toolkit Documentation Cg / Standard Library / pow

## Name

pow - returns x to the y-th power of scalars and vectors

## Synopsis

```float  pow(float  x, float  y);
float1 pow(float1 x, float1 y);
float2 pow(float2 x, float2 y);
float3 pow(float3 x, float3 y);
float4 pow(float4 x, float4 y);

half   pow(half  x, half  y);
half1  pow(half1 x, half1 y);
half2  pow(half2 x, half2 y);
half3  pow(half3 x, half3 y);
half4  pow(half4 x, half4 y);

fixed  pow(fixed  x, fixed  y);
fixed1 pow(fixed1 x, fixed1 y);
fixed2 pow(fixed2 x, fixed2 y);
fixed3 pow(fixed3 x, fixed3 y);
fixed4 pow(fixed4 x, fixed4 y);
```

## Parameters

x
A base value.
y
The power to raise the base.

## Description

Returns x to the power y.

For vectors, the returned vector contains the power of each element of the base vector raised to the respective element of the exponent vector.

## Reference Implementation

pow for float3 vectors could be implemented this way:

```float3 pow(float3 x, float3 y)
{
float3 rv;

for (int i=0; i<3; i++) {
rv[i] = exp(x[i] * log(y[i]));
}
return rv;
}
```

## Profile Support

exp is supported in all profiles.

Support in the fp20 is limited to constant compile-time evaluation.