Blender  V2.93
Macros | Functions | Variables
util_avxf_test.h File Reference
#include "testing/testing.h"
#include "util/util_system.h"
#include "util/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:97
static unsigned a[3]
Definition: RandGen.cpp:92

Definition at line 62 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 55 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 43 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 47 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 51 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: util_avxf.h:24
static CCL_NAMESPACE_BEGIN bool validate_cpu_capabilities()

Definition at line 35 of file util_avxf_test.h.

Function Documentation

◆ TEST() [1/21]

TEST ( TEST_CATEGORY_NAME  ,
avxf_add_vf   
)

Definition at line 74 of file util_avxf_test.h.

◆ TEST() [2/21]

TEST ( TEST_CATEGORY_NAME  ,
avxf_add_vv   
)

Definition at line 70 of file util_avxf_test.h.

References basic_test_vv.

◆ TEST() [3/21]

TEST ( TEST_CATEGORY_NAME  ,
avxf_blend   
)

Definition at line 185 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 159 of file util_avxf_test.h.

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

◆ TEST() [5/21]

TEST ( TEST_CATEGORY_NAME  ,
avxf_cross   
)

Definition at line 199 of file util_avxf_test.h.

References compare_vector_vector_near, cross(), and INIT_AVX_TEST.

◆ TEST() [6/21]

TEST ( TEST_CATEGORY_NAME  ,
avxf_ctor   
)

◆ TEST() [7/21]

TEST ( TEST_CATEGORY_NAME  ,
avxf_div_vf   
)

Definition at line 77 of file util_avxf_test.h.

◆ TEST() [8/21]

TEST ( TEST_CATEGORY_NAME  ,
avxf_div_vv   
)

Definition at line 73 of file util_avxf_test.h.

◆ TEST() [9/21]

TEST ( TEST_CATEGORY_NAME  ,
avxf_dot3   
)

Definition at line 215 of file util_avxf_test.h.

References dot3, and INIT_AVX_TEST.

◆ TEST() [10/21]

TEST ( TEST_CATEGORY_NAME  ,
avxf_madd   
)

Definition at line 129 of file util_avxf_test.h.

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

◆ TEST() [11/21]

TEST ( TEST_CATEGORY_NAME  ,
avxf_min_max   
)

Definition at line 100 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 114 of file util_avxf_test.h.

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

◆ TEST() [13/21]

TEST ( TEST_CATEGORY_NAME  ,
avxf_mul_vf   
)

Definition at line 76 of file util_avxf_test.h.

◆ TEST() [14/21]

TEST ( TEST_CATEGORY_NAME  ,
avxf_mul_vv   
)

Definition at line 72 of file util_avxf_test.h.

◆ TEST() [15/21]

TEST ( TEST_CATEGORY_NAME  ,
avxf_nmadd   
)

Definition at line 144 of file util_avxf_test.h.

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

◆ TEST() [16/21]

TEST ( TEST_CATEGORY_NAME  ,
avxf_permute   
)

Definition at line 178 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 107 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 192 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 93 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 75 of file util_avxf_test.h.

◆ TEST() [21/21]

TEST ( TEST_CATEGORY_NAME  ,
avxf_sub_vv   
)

Definition at line 70 of file util_avxf_test.h.

◆ validate_cpu_capabilities()

static CCL_NAMESPACE_BEGIN bool validate_cpu_capabilities ( )
static

Definition at line 23 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 68 of file util_avxf_test.h.