added support for rsqrtd/rcpd for generic-*.h
This commit is contained in:
@@ -1086,10 +1086,18 @@ static FORCEINLINE float __rsqrt_uniform_float(float v) {
|
||||
return 1.f / sqrtf(v);
|
||||
}
|
||||
|
||||
static FORCEINLINE double __rsqrt_uniform_double(double v) {
|
||||
return 1.0 / sqrt(v);
|
||||
}
|
||||
|
||||
static FORCEINLINE float __rcp_uniform_float(float v) {
|
||||
return 1.f / v;
|
||||
}
|
||||
|
||||
static FORCEINLINE double __rcp_uniform_double(double v) {
|
||||
return 1.0 / v;
|
||||
}
|
||||
|
||||
static FORCEINLINE float __sqrt_uniform_float(float v) {
|
||||
return sqrtf(v);
|
||||
}
|
||||
@@ -1099,7 +1107,9 @@ static FORCEINLINE double __sqrt_uniform_double(double v) {
|
||||
}
|
||||
|
||||
UNARY_OP(__vec16_f, __rcp_varying_float, __rcp_uniform_float)
|
||||
UNARY_OP(__vec16_d, __rcp_varying_double, __rcp_uniform_double)
|
||||
UNARY_OP(__vec16_f, __rsqrt_varying_float, __rsqrt_uniform_float)
|
||||
UNARY_OP(__vec16_d, __rsqrt_varying_double, __rsqrt_uniform_double)
|
||||
UNARY_OP(__vec16_f, __sqrt_varying_float, __sqrt_uniform_float)
|
||||
UNARY_OP(__vec16_d, __sqrt_varying_double, __sqrt_uniform_double)
|
||||
|
||||
|
||||
@@ -1138,10 +1138,18 @@ static FORCEINLINE float __rsqrt_uniform_float(float v) {
|
||||
return 1.f / sqrtf(v);
|
||||
}
|
||||
|
||||
static FORCEINLINE double __rsqrt_uniform_double(double v) {
|
||||
return 1.0 / sqrt(v);
|
||||
}
|
||||
|
||||
static FORCEINLINE float __rcp_uniform_float(float v) {
|
||||
return 1.f / v;
|
||||
}
|
||||
|
||||
static FORCEINLINE double __rcp_uniform_double(double v) {
|
||||
return 1.0 / v;
|
||||
}
|
||||
|
||||
static FORCEINLINE float __sqrt_uniform_float(float v) {
|
||||
return sqrtf(v);
|
||||
}
|
||||
@@ -1151,7 +1159,9 @@ static FORCEINLINE double __sqrt_uniform_double(double v) {
|
||||
}
|
||||
|
||||
UNARY_OP(__vec32_f, __rcp_varying_float, __rcp_uniform_float)
|
||||
UNARY_OP(__vec32_d, __rcp_varying_double, __rcp_uniform_double)
|
||||
UNARY_OP(__vec32_f, __rsqrt_varying_float, __rsqrt_uniform_float)
|
||||
UNARY_OP(__vec32_d, __rsqrt_varying_double, __rsqrt_uniform_double)
|
||||
UNARY_OP(__vec32_f, __sqrt_varying_float, __sqrt_uniform_float)
|
||||
UNARY_OP(__vec32_d, __sqrt_varying_double, __sqrt_uniform_double)
|
||||
|
||||
|
||||
@@ -1271,10 +1271,18 @@ static FORCEINLINE float __rsqrt_uniform_float(float v) {
|
||||
return 1.f / sqrtf(v);
|
||||
}
|
||||
|
||||
static FORCEINLINE double __rsqrt_uniform_double(double v) {
|
||||
return 1.0 / sqrt(v);
|
||||
}
|
||||
|
||||
static FORCEINLINE float __rcp_uniform_float(float v) {
|
||||
return 1.f / v;
|
||||
}
|
||||
|
||||
static FORCEINLINE double __rcp_uniform_double(double v) {
|
||||
return 1.0 / v;
|
||||
}
|
||||
|
||||
static FORCEINLINE float __sqrt_uniform_float(float v) {
|
||||
return sqrtf(v);
|
||||
}
|
||||
@@ -1284,7 +1292,9 @@ static FORCEINLINE double __sqrt_uniform_double(double v) {
|
||||
}
|
||||
|
||||
UNARY_OP(__vec64_f, __rcp_varying_float, __rcp_uniform_float)
|
||||
UNARY_OP(__vec64_d, __rcp_varying_double, __rcp_uniform_double)
|
||||
UNARY_OP(__vec64_f, __rsqrt_varying_float, __rsqrt_uniform_float)
|
||||
UNARY_OP(__vec64_d, __rsqrt_varying_double, __rsqrt_uniform_double)
|
||||
UNARY_OP(__vec64_f, __sqrt_varying_float, __sqrt_uniform_float)
|
||||
UNARY_OP(__vec64_d, __sqrt_varying_double, __sqrt_uniform_double)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user