Blender  V3.3
Macros | Functions | Variables
util_avxf_test.h File Reference
#include "testing/testing.h"
#include "util/system.h"
#include "util/types.h"

Go to the source code of this file.

Macros

#define INIT_AVX_TEST
 
#define compare_vector_scalar(a, b)
 
#define compare_vector_vector(a, b)
 
#define compare_vector_vector_near(a, b, abserror)
 
#define basic_test_vv(a, b, op)
 
#define basic_test_vf(a, b, op)
 

Functions

static CCL_NAMESPACE_BEGIN bool validate_cpu_capabilities ()
 
 TEST (TEST_CATEGORY_NAME, avxf_add_vv)
 
 TEST (TEST_CATEGORY_NAME, avxf_sub_vv)
 
 TEST (TEST_CATEGORY_NAME, avxf_mul_vv)
 
 TEST (TEST_CATEGORY_NAME, avxf_div_vv)
 
 TEST (TEST_CATEGORY_NAME, avxf_add_vf)
 
 TEST (TEST_CATEGORY_NAME, avxf_sub_vf)
 
 TEST (TEST_CATEGORY_NAME, avxf_mul_vf)
 
 TEST (TEST_CATEGORY_NAME, avxf_div_vf)
 
 TEST (TEST_CATEGORY_NAME, avxf_ctor)
 
 TEST (TEST_CATEGORY_NAME, avxf_sqrt)
 
 TEST (TEST_CATEGORY_NAME, avxf_min_max)
 
 TEST (TEST_CATEGORY_NAME, avxf_set_sign)
 
 TEST (TEST_CATEGORY_NAME, avxf_msub)
 
 TEST (TEST_CATEGORY_NAME, avxf_madd)
 
 TEST (TEST_CATEGORY_NAME, avxf_nmadd)
 
 TEST (TEST_CATEGORY_NAME, avxf_compare)
 
 TEST (TEST_CATEGORY_NAME, avxf_permute)
 
 TEST (TEST_CATEGORY_NAME, avxf_blend)
 
 TEST (TEST_CATEGORY_NAME, avxf_shuffle)
 
 TEST (TEST_CATEGORY_NAME, avxf_cross)
 
 TEST (TEST_CATEGORY_NAME, avxf_dot3)
 

Variables

static const float float_b = 1.5f
 

Macro Definition Documentation

◆ basic_test_vf

#define basic_test_vf (   a,
  b,
  op 
)
Value:
INIT_AVX_TEST \
avxf c = a op b; \
for (size_t i = 0; i < a.size; i++) \
EXPECT_FLOAT_EQ(c[i], a[i] op b);
static unsigned c
Definition: RandGen.cpp:83
static unsigned a[3]
Definition: RandGen.cpp:78
static const pxr::TfToken b("b", pxr::TfToken::Immortal)

Definition at line 49 of file util_avxf_test.h.

◆ basic_test_vv

#define basic_test_vv (   a,
  b,
  op 
)
Value:
INIT_AVX_TEST \
avxf c = a op b; \
for (size_t i = 0; i < a.size; i++) \
EXPECT_FLOAT_EQ(c[i], a[i] op b[i]);

Definition at line 42 of file util_avxf_test.h.

◆ compare_vector_scalar

#define compare_vector_scalar (   a,
 
)
Value:
for (size_t index = 0; index < a.size; index++) \
EXPECT_FLOAT_EQ(a[index], b);

Definition at line 30 of file util_avxf_test.h.

◆ compare_vector_vector

#define compare_vector_vector (   a,
 
)
Value:
for (size_t index = 0; index < a.size; index++) \
EXPECT_FLOAT_EQ(a[index], b[index]);

Definition at line 34 of file util_avxf_test.h.

◆ compare_vector_vector_near

#define compare_vector_vector_near (   a,
  b,
  abserror 
)
Value:
for (size_t index = 0; index < a.size; index++) \
EXPECT_NEAR(a[index], b[index], abserror);

Definition at line 38 of file util_avxf_test.h.

◆ INIT_AVX_TEST

#define INIT_AVX_TEST
Value:
return; \
\
const avxf avxf_a(0.1f, 0.2f, 0.3f, 0.4f, 0.5f, 0.6f, 0.7f, 0.8f); \
const avxf avxf_b(1.0f, 2.0f, 3.0f, 4.0f, 5.0f, 6.0f, 7.0f, 8.0f); \
const avxf avxf_c(1.1f, 2.2f, 3.3f, 4.4f, 5.5f, 6.6f, 7.7f, 8.8f);
Definition: avxf.h:11
static CCL_NAMESPACE_BEGIN bool validate_cpu_capabilities()

Definition at line 22 of file util_avxf_test.h.

Function Documentation

◆ TEST() [1/21]

TEST ( TEST_CATEGORY_NAME  ,
avxf_add_vf   
)

Definition at line 61 of file util_avxf_test.h.

◆ TEST() [2/21]

TEST ( TEST_CATEGORY_NAME  ,
avxf_add_vv   
)

Definition at line 57 of file util_avxf_test.h.

References basic_test_vv.

◆ TEST() [3/21]

TEST ( TEST_CATEGORY_NAME  ,
avxf_blend   
)

Definition at line 172 of file util_avxf_test.h.

References compare_vector_vector, and INIT_AVX_TEST.

◆ TEST() [4/21]

TEST ( TEST_CATEGORY_NAME  ,
avxf_compare   
)

Definition at line 146 of file util_avxf_test.h.

References Freestyle::a, usdtokens::b(), compare_vector_vector, exp(), and INIT_AVX_TEST.

◆ TEST() [5/21]

TEST ( TEST_CATEGORY_NAME  ,
avxf_cross   
)

◆ TEST() [6/21]

TEST ( TEST_CATEGORY_NAME  ,
avxf_ctor   
)

◆ TEST() [7/21]

TEST ( TEST_CATEGORY_NAME  ,
avxf_div_vf   
)

Definition at line 64 of file util_avxf_test.h.

◆ TEST() [8/21]

TEST ( TEST_CATEGORY_NAME  ,
avxf_div_vv   
)

Definition at line 60 of file util_avxf_test.h.

◆ TEST() [9/21]

TEST ( TEST_CATEGORY_NAME  ,
avxf_dot3   
)

Definition at line 202 of file util_avxf_test.h.

References dot3(), and INIT_AVX_TEST.

◆ TEST() [10/21]

TEST ( TEST_CATEGORY_NAME  ,
avxf_madd   
)

Definition at line 116 of file util_avxf_test.h.

References compare_vector_vector, exp(), INIT_AVX_TEST, and madd().

◆ TEST() [11/21]

TEST ( TEST_CATEGORY_NAME  ,
avxf_min_max   
)

Definition at line 87 of file util_avxf_test.h.

References compare_vector_vector, INIT_AVX_TEST, max, and min.

◆ TEST() [12/21]

TEST ( TEST_CATEGORY_NAME  ,
avxf_msub   
)

Definition at line 101 of file util_avxf_test.h.

References compare_vector_vector, exp(), INIT_AVX_TEST, and msub().

◆ TEST() [13/21]

TEST ( TEST_CATEGORY_NAME  ,
avxf_mul_vf   
)

Definition at line 63 of file util_avxf_test.h.

◆ TEST() [14/21]

TEST ( TEST_CATEGORY_NAME  ,
avxf_mul_vv   
)

Definition at line 59 of file util_avxf_test.h.

◆ TEST() [15/21]

TEST ( TEST_CATEGORY_NAME  ,
avxf_nmadd   
)

Definition at line 131 of file util_avxf_test.h.

References compare_vector_vector, exp(), INIT_AVX_TEST, and nmadd().

◆ TEST() [16/21]

TEST ( TEST_CATEGORY_NAME  ,
avxf_permute   
)

Definition at line 165 of file util_avxf_test.h.

References compare_vector_vector, and INIT_AVX_TEST.

◆ TEST() [17/21]

TEST ( TEST_CATEGORY_NAME  ,
avxf_set_sign   
)

Definition at line 94 of file util_avxf_test.h.

References compare_vector_vector, and INIT_AVX_TEST.

◆ TEST() [18/21]

TEST ( TEST_CATEGORY_NAME  ,
avxf_shuffle   
)

Definition at line 179 of file util_avxf_test.h.

References compare_vector_vector, and INIT_AVX_TEST.

◆ TEST() [19/21]

TEST ( TEST_CATEGORY_NAME  ,
avxf_sqrt   
)

Definition at line 80 of file util_avxf_test.h.

References compare_vector_vector, INIT_AVX_TEST, and mm256_sqrt().

◆ TEST() [20/21]

TEST ( TEST_CATEGORY_NAME  ,
avxf_sub_vf   
)

Definition at line 62 of file util_avxf_test.h.

◆ TEST() [21/21]

TEST ( TEST_CATEGORY_NAME  ,
avxf_sub_vv   
)

Definition at line 57 of file util_avxf_test.h.

◆ validate_cpu_capabilities()

static CCL_NAMESPACE_BEGIN bool validate_cpu_capabilities ( )
static

Definition at line 10 of file util_avxf_test.h.

References system_cpu_support_avx(), and system_cpu_support_avx2().

Variable Documentation

◆ float_b

const float float_b = 1.5f
static

Definition at line 55 of file util_avxf_test.h.