49static FUNC_PREFIX void diffusivefluxkernel_single_precision_diffusivefluxkernel_single_precision(
float D,
float *
RESTRICT const _data_j,
float *
RESTRICT const _data_rho,
int64_t const _size_j_0,
int64_t const _size_j_1,
int64_t const _size_j_2,
int64_t const _stride_j_0,
int64_t const _stride_j_1,
int64_t const _stride_j_2,
int64_t const _stride_j_3,
int64_t const _stride_rho_0,
int64_t const _stride_rho_1,
int64_t const _stride_rho_2) {
54 _data_j[_stride_j_0 *
ctr_0 + _stride_j_1 *
ctr_1 + _stride_j_2 *
ctr_2] = D * (_data_rho[_stride_rho_0 *
ctr_0 + _stride_rho_1 *
ctr_1 + _stride_rho_2 *
ctr_2] - _data_rho[_stride_rho_0 *
ctr_0 - _stride_rho_0 + _stride_rho_1 *
ctr_1 + _stride_rho_2 *
ctr_2]) * 0.16292407789368385f;
57 _data_j[_stride_j_0 *
ctr_0 + _stride_j_1 *
ctr_1 + _stride_j_2 *
ctr_2 + _stride_j_3] = D * (_data_rho[_stride_rho_0 *
ctr_0 + _stride_rho_1 *
ctr_1 + _stride_rho_2 *
ctr_2] - _data_rho[_stride_rho_0 *
ctr_0 + _stride_rho_1 *
ctr_1 - _stride_rho_1 + _stride_rho_2 *
ctr_2]) * 0.16292407789368385f;
60 _data_j[_stride_j_0 *
ctr_0 + _stride_j_1 *
ctr_1 + _stride_j_2 *
ctr_2 + 2 * _stride_j_3] = D * (-_data_rho[_stride_rho_0 *
ctr_0 + _stride_rho_1 *
ctr_1 + _stride_rho_2 *
ctr_2 - _stride_rho_2] + _data_rho[_stride_rho_0 *
ctr_0 + _stride_rho_1 *
ctr_1 + _stride_rho_2 *
ctr_2]) * 0.16292407789368385f;
63 _data_j[_stride_j_0 *
ctr_0 + _stride_j_1 *
ctr_1 + _stride_j_2 *
ctr_2 + 3 * _stride_j_3] = D * (_data_rho[_stride_rho_0 *
ctr_0 + _stride_rho_1 *
ctr_1 + _stride_rho_2 *
ctr_2] - _data_rho[_stride_rho_0 *
ctr_0 - _stride_rho_0 + _stride_rho_1 *
ctr_1 - _stride_rho_1 + _stride_rho_2 *
ctr_2]) * 0.11520472029718914f;
66 _data_j[_stride_j_0 *
ctr_0 + _stride_j_1 *
ctr_1 + _stride_j_2 *
ctr_2 + 4 * _stride_j_3] = D * (_data_rho[_stride_rho_0 *
ctr_0 + _stride_rho_1 *
ctr_1 + _stride_rho_2 *
ctr_2] - _data_rho[_stride_rho_0 *
ctr_0 - _stride_rho_0 + _stride_rho_1 *
ctr_1 + _stride_rho_1 + _stride_rho_2 *
ctr_2]) * 0.11520472029718914f;
69 _data_j[_stride_j_0 *
ctr_0 + _stride_j_1 *
ctr_1 + _stride_j_2 *
ctr_2 + 5 * _stride_j_3] = D * (_data_rho[_stride_rho_0 *
ctr_0 + _stride_rho_1 *
ctr_1 + _stride_rho_2 *
ctr_2] - _data_rho[_stride_rho_0 *
ctr_0 - _stride_rho_0 + _stride_rho_1 *
ctr_1 + _stride_rho_2 *
ctr_2 - _stride_rho_2]) * 0.11520472029718914f;
72 _data_j[_stride_j_0 *
ctr_0 + _stride_j_1 *
ctr_1 + _stride_j_2 *
ctr_2 + 6 * _stride_j_3] = D * (_data_rho[_stride_rho_0 *
ctr_0 + _stride_rho_1 *
ctr_1 + _stride_rho_2 *
ctr_2] - _data_rho[_stride_rho_0 *
ctr_0 - _stride_rho_0 + _stride_rho_1 *
ctr_1 + _stride_rho_2 *
ctr_2 + _stride_rho_2]) * 0.11520472029718914f;
75 _data_j[_stride_j_0 *
ctr_0 + _stride_j_1 *
ctr_1 + _stride_j_2 *
ctr_2 + 7 * _stride_j_3] = D * (_data_rho[_stride_rho_0 *
ctr_0 + _stride_rho_1 *
ctr_1 + _stride_rho_2 *
ctr_2] - _data_rho[_stride_rho_0 *
ctr_0 + _stride_rho_1 *
ctr_1 - _stride_rho_1 + _stride_rho_2 *
ctr_2 - _stride_rho_2]) * 0.11520472029718914f;
78 _data_j[_stride_j_0 *
ctr_0 + _stride_j_1 *
ctr_1 + _stride_j_2 *
ctr_2 + 8 * _stride_j_3] = D * (_data_rho[_stride_rho_0 *
ctr_0 + _stride_rho_1 *
ctr_1 + _stride_rho_2 *
ctr_2] - _data_rho[_stride_rho_0 *
ctr_0 + _stride_rho_1 *
ctr_1 - _stride_rho_1 + _stride_rho_2 *
ctr_2 + _stride_rho_2]) * 0.11520472029718914f;
81 _data_j[_stride_j_0 *
ctr_0 + _stride_j_1 *
ctr_1 + _stride_j_2 *
ctr_2 + 9 * _stride_j_3] = D * (_data_rho[_stride_rho_0 *
ctr_0 + _stride_rho_1 *
ctr_1 + _stride_rho_2 *
ctr_2] - _data_rho[_stride_rho_0 *
ctr_0 - _stride_rho_0 + _stride_rho_1 *
ctr_1 - _stride_rho_1 + _stride_rho_2 *
ctr_2 - _stride_rho_2]) * 0.09406426022938992f;
84 _data_j[_stride_j_0 *
ctr_0 + _stride_j_1 *
ctr_1 + _stride_j_2 *
ctr_2 + 10 * _stride_j_3] = D * (_data_rho[_stride_rho_0 *
ctr_0 + _stride_rho_1 *
ctr_1 + _stride_rho_2 *
ctr_2] - _data_rho[_stride_rho_0 *
ctr_0 - _stride_rho_0 + _stride_rho_1 *
ctr_1 - _stride_rho_1 + _stride_rho_2 *
ctr_2 + _stride_rho_2]) * 0.09406426022938992f;
87 _data_j[_stride_j_0 *
ctr_0 + _stride_j_1 *
ctr_1 + _stride_j_2 *
ctr_2 + 11 * _stride_j_3] = D * (_data_rho[_stride_rho_0 *
ctr_0 + _stride_rho_1 *
ctr_1 + _stride_rho_2 *
ctr_2] - _data_rho[_stride_rho_0 *
ctr_0 - _stride_rho_0 + _stride_rho_1 *
ctr_1 + _stride_rho_1 + _stride_rho_2 *
ctr_2 - _stride_rho_2]) * 0.09406426022938992f;
89 if (
ctr_1 < _size_j_1 - 1 &&
ctr_2 < _size_j_2 - 1) {
90 _data_j[_stride_j_0 *
ctr_0 + _stride_j_1 *
ctr_1 + _stride_j_2 *
ctr_2 + 12 * _stride_j_3] = D * (_data_rho[_stride_rho_0 *
ctr_0 + _stride_rho_1 *
ctr_1 + _stride_rho_2 *
ctr_2] - _data_rho[_stride_rho_0 *
ctr_0 - _stride_rho_0 + _stride_rho_1 *
ctr_1 + _stride_rho_1 + _stride_rho_2 *
ctr_2 + _stride_rho_2]) * 0.09406426022938992f;