(git:3add494)
grid_dgemm_non_orthorombic_corrections.c File Reference
#include "grid_dgemm_non_orthorombic_corrections.h"
#include <math.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "../common/grid_common.h"
#include "grid_dgemm_utils.h"

Go to the source code of this file.

Functions

double exp_recursive (const double c_exp, const double c_exp_minus_1, const int index)
 
void exp_i (const double alpha, const int imin, const int imax, double *restrict const res)
 
void exp_ij (const double alpha, const int offset_i, const int imin, const int imax, const int offset_j, const int jmin, const int jmax, tensor *exp_ij_)
 
void calculate_non_orthorombic_corrections_tensor (const double mu_mean, const double *r_ab, const double basis[3][3], const int *const xmin, const int *const xmax, bool plane[3], tensor *const Exp)
 
void calculate_non_orthorombic_corrections_tensor_blocked (const double mu_mean, const double *r_ab, const double basis[3][3], const int *const lower_corner, const int *const upper_corner, const int *const block_size, const int *const offset, const int *const xmin, const int *const xmax, bool *plane, tensor *const Exp)
 
void apply_non_orthorombic_corrections (const bool plane[restrict 3], const tensor *const Exp, tensor *const cube)
 
void apply_non_orthorombic_corrections_xy_blocked (const struct tensor_ *const Exp, struct tensor_ *const m)
 
void apply_non_orthorombic_corrections_xz_blocked (const struct tensor_ *const Exp, struct tensor_ *const m)
 
void apply_non_orthorombic_corrections_yz_blocked (const struct tensor_ *const Exp, struct tensor_ *const m)
 
void apply_non_orthorombic_corrections_xz_yz_blocked (const struct tensor_ *const Exp_xz, const struct tensor_ *const Exp_yz, struct tensor_ *const m)
 

Function Documentation

◆ exp_recursive()

double exp_recursive ( const double  c_exp,
const double  c_exp_minus_1,
const int  index 
)

Definition at line 18 of file grid_dgemm_non_orthorombic_corrections.c.

◆ exp_i()

void exp_i ( const double  alpha,
const int  imin,
const int  imax,
double *restrict const  res 
)

Definition at line 45 of file grid_dgemm_non_orthorombic_corrections.c.

◆ exp_ij()

void exp_ij ( const double  alpha,
const int  offset_i,
const int  imin,
const int  imax,
const int  offset_j,
const int  jmin,
const int  jmax,
tensor exp_ij_ 
)

Definition at line 56 of file grid_dgemm_non_orthorombic_corrections.c.

Here is the caller graph for this function:

◆ calculate_non_orthorombic_corrections_tensor()

void calculate_non_orthorombic_corrections_tensor ( const double  mu_mean,
const double *  r_ab,
const double  basis[3][3],
const int *const  xmin,
const int *const  xmax,
bool  plane[3],
tensor *const  Exp 
)

Definition at line 74 of file grid_dgemm_non_orthorombic_corrections.c.

Here is the caller graph for this function:

◆ calculate_non_orthorombic_corrections_tensor_blocked()

void calculate_non_orthorombic_corrections_tensor_blocked ( const double  mu_mean,
const double *  r_ab,
const double  basis[3][3],
const int *const  lower_corner,
const int *const  upper_corner,
const int *const  block_size,
const int *const  offset,
const int *const  xmin,
const int *const  xmax,
bool *  plane,
tensor *const  Exp 
)

Definition at line 148 of file grid_dgemm_non_orthorombic_corrections.c.

◆ apply_non_orthorombic_corrections()

void apply_non_orthorombic_corrections ( const bool  plane[restrict 3],
const tensor *const  Exp,
tensor *const  cube 
)

Definition at line 256 of file grid_dgemm_non_orthorombic_corrections.c.

◆ apply_non_orthorombic_corrections_xy_blocked()

void apply_non_orthorombic_corrections_xy_blocked ( const struct tensor_ *const  Exp,
struct tensor_ *const  m 
)

Definition at line 384 of file grid_dgemm_non_orthorombic_corrections.c.

◆ apply_non_orthorombic_corrections_xz_blocked()

void apply_non_orthorombic_corrections_xz_blocked ( const struct tensor_ *const  Exp,
struct tensor_ *const  m 
)

Definition at line 400 of file grid_dgemm_non_orthorombic_corrections.c.

◆ apply_non_orthorombic_corrections_yz_blocked()

void apply_non_orthorombic_corrections_yz_blocked ( const struct tensor_ *const  Exp,
struct tensor_ *const  m 
)

Definition at line 415 of file grid_dgemm_non_orthorombic_corrections.c.

◆ apply_non_orthorombic_corrections_xz_yz_blocked()

void apply_non_orthorombic_corrections_xz_yz_blocked ( const struct tensor_ *const  Exp_xz,
const struct tensor_ *const  Exp_yz,
struct tensor_ *const  m 
)

Definition at line 430 of file grid_dgemm_non_orthorombic_corrections.c.