|
|
@@ -1,5 +1,5 @@
|
|
|
/*
|
|
|
- * Copyright 2010-2013 Branimir Karadzic. All rights reserved.
|
|
|
+ * Copyright 2010-2014 Branimir Karadzic. All rights reserved.
|
|
|
* License: http://www.opensource.org/licenses/BSD-2-Clause
|
|
|
*/
|
|
|
|
|
|
@@ -42,6 +42,14 @@ namespace bx
|
|
|
return result;
|
|
|
}
|
|
|
|
|
|
+ BX_FLOAT4_INLINE float4_t float4_rcp_ni(float4_t _a)
|
|
|
+ {
|
|
|
+ const float4_t one = float4_splat(1.0f);
|
|
|
+ const float4_t result = float4_div(one, _a);
|
|
|
+
|
|
|
+ return result;
|
|
|
+ }
|
|
|
+
|
|
|
BX_FLOAT4_INLINE float4_t float4_div_nr_ni(float4_t _a, float4_t _b)
|
|
|
{
|
|
|
const float4_t oneish = float4_isplat(0x3f800001);
|
|
|
@@ -53,14 +61,6 @@ namespace bx
|
|
|
return result;
|
|
|
}
|
|
|
|
|
|
- BX_FLOAT4_INLINE float4_t float4_rcp_ni(float4_t _a)
|
|
|
- {
|
|
|
- const float4_t one = float4_splat(1.0f);
|
|
|
- const float4_t result = float4_div(one, _a);
|
|
|
-
|
|
|
- return result;
|
|
|
- }
|
|
|
-
|
|
|
BX_FLOAT4_INLINE float4_t float4_orx_ni(float4_t _a)
|
|
|
{
|
|
|
const float4_t zwxy = float4_swiz_zwxy(_a);
|
|
|
@@ -115,6 +115,22 @@ namespace bx
|
|
|
return result;
|
|
|
}
|
|
|
|
|
|
+ BX_FLOAT4_INLINE float4_t float4_min_ni(float4_t _a, float4_t _b)
|
|
|
+ {
|
|
|
+ const float4_t mask = float4_cmplt(_a, _b);
|
|
|
+ const float4_t result = float4_selb(mask, _a, _b);
|
|
|
+
|
|
|
+ return result;
|
|
|
+ }
|
|
|
+
|
|
|
+ BX_FLOAT4_INLINE float4_t float4_max_ni(float4_t _a, float4_t _b)
|
|
|
+ {
|
|
|
+ const float4_t mask = float4_cmpgt(_a, _b);
|
|
|
+ const float4_t result = float4_selb(mask, _a, _b);
|
|
|
+
|
|
|
+ return result;
|
|
|
+ }
|
|
|
+
|
|
|
BX_FLOAT4_INLINE float4_t float4_abs_ni(float4_t _a)
|
|
|
{
|
|
|
const float4_t a_neg = float4_neg(_a);
|