NEURON
alignment.cpp File Reference
#include "coreneuron/utils/memory.h"
#include <catch2/catch_test_macros.hpp>
#include <catch2/catch_template_test_macros.hpp>
#include <cstdint>
#include <cstring>
#include <tuple>

Go to the source code of this file.

Classes

struct  data< T, n >
 

Typedefs

typedef std::tuple< data< double >, data< long long int > > chunk_default_data_type
 
typedef std::tuple< data< double, 2 >, data< double, 4 >, data< double, 8 >, data< double, 16 >, data< double, 32 >, data< int, 2 >, data< int, 4 >, data< int, 8 >, data< int, 16 >, data< int, 32 > > chunk_data_type
 

Functions

 TEST_CASE ("padding_simd", "[PaddingCheck]")
 
 TEMPLATE_LIST_TEST_CASE ("memory_alignment_simd_false", "[memory_alignment_simd_false]", chunk_default_data_type)
 Even number is randomly depends of the TYPE!!! and the number of elements. More...
 
 TEMPLATE_LIST_TEST_CASE ("memory_alignment_simd_true", "[memory_alignment_simd_true]", chunk_data_type)
 

Typedef Documentation

◆ chunk_data_type

typedef std::tuple<data<double, 2>, data<double, 4>, data<double, 8>, data<double, 16>, data<double, 32>, data<int, 2>, data<int, 4>, data<int, 8>, data<int, 16>, data<int, 32> > chunk_data_type

Definition at line 35 of file alignment.cpp.

◆ chunk_default_data_type

typedef std::tuple<data<double>, data<long long int> > chunk_default_data_type

Definition at line 23 of file alignment.cpp.

Function Documentation

◆ TEMPLATE_LIST_TEST_CASE() [1/2]

TEMPLATE_LIST_TEST_CASE ( "memory_alignment_simd_false"  ,
""  [memory_alignment_simd_false],
chunk_default_data_type   
)

Even number is randomly depends of the TYPE!!! and the number of elements.

This test work for 64 bits type not for 32 bits.

Definition at line 102 of file alignment.cpp.

◆ TEMPLATE_LIST_TEST_CASE() [2/2]

TEMPLATE_LIST_TEST_CASE ( "memory_alignment_simd_true"  ,
""  [memory_alignment_simd_true],
chunk_data_type   
)

Definition at line 125 of file alignment.cpp.

◆ TEST_CASE()

TEST_CASE ( "padding_simd"  ,
""  [PaddingCheck] 
)

AOS test

SOA tests with 11

SOA tests with 32

SOA tests with 33

Definition at line 37 of file alignment.cpp.