Nek5000
SEM for Incompressible NS
|
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <string.h>
#include <float.h>
#include "c99.h"
#include "types.h"
#include "name.h"
#include "fail.h"
#include "mem.h"
#include "poly.h"
#include "rdtsc.h"
Go to the source code of this file.
Classes | |
struct | ref_lagrange_data |
Macros | |
#define | N 32 |
#define | REPEAT 1000000 |
#define | USE_HW_COUNTER 1 |
#define | EPS (128*DBL_EPSILON) |
#define | cosr cos |
#define | fabsr fabs |
#define | PI 3.1415926535897932384626433832795028841971693993751058209749445923 |
#define | TIME(t, repeat, what) |
Typedefs | |
typedef double | real |
Functions | |
static int | not_same (double a, double b) |
static real | legendre (int n, real x) |
static real | legendre_d1 (int n, real x) |
static real | legendre_d2 (int n, real x) |
static void | ref_gauss_nodes (real *z, int n) |
static void | lobatto_nodes_aux (real *z, int n) |
static void | ref_lobatto_nodes (real *z, int n) |
static void | ref_gauss_weights (const real *z, real *w, int n) |
static void | ref_lobatto_weights (const real *z, real *w, int n) |
static void | ref_lagrange_0 (ref_lagrange_data *p, real x) |
static void | ref_lagrange_1 (ref_lagrange_data *p, real x) |
static void | ref_lagrange_2 (ref_lagrange_data *p, real x) |
static void | ref_lagrange_2u (ref_lagrange_data *p) |
static void | ref_lagrange_setup (ref_lagrange_data *p, const real *z, unsigned n) |
void | ref_lagrange_free (ref_lagrange_data *p) |
int | main () |
#define cosr cos |
Definition at line 33 of file poly_test2.c.
Referenced by lobatto_nodes_aux(), and ref_gauss_nodes().
#define EPS (128*DBL_EPSILON) |
Definition at line 24 of file poly_test2.c.
Referenced by lobatto_nodes_aux(), not_same(), and ref_gauss_nodes().
#define fabsr fabs |
Definition at line 34 of file poly_test2.c.
Referenced by lobatto_nodes_aux(), and ref_gauss_nodes().
#define N 32 |
Definition at line 14 of file poly_test2.c.
Referenced by main().
#define PI 3.1415926535897932384626433832795028841971693993751058209749445923 |
Definition at line 35 of file poly_test2.c.
Referenced by lobatto_nodes_aux(), and ref_gauss_nodes().
#define REPEAT 1000000 |
Definition at line 15 of file poly_test2.c.
Referenced by main().
#define TIME | ( | t, | |
repeat, | |||
what | |||
) |
Referenced by main().
#define USE_HW_COUNTER 1 |
Definition at line 17 of file poly_test2.c.
typedef double real |
Definition at line 32 of file poly_test2.c.
Definition at line 38 of file poly_test2.c.
Referenced by ref_gauss_nodes(), ref_gauss_weights(), and ref_lobatto_weights().
Definition at line 51 of file poly_test2.c.
Referenced by lobatto_nodes_aux(), and ref_gauss_nodes().
Definition at line 64 of file poly_test2.c.
Referenced by lobatto_nodes_aux().
|
static |
Definition at line 93 of file poly_test2.c.
References cosr, EPS, fabsr, i, legendre_d1(), legendre_d2(), n, np, PI, and x.
Referenced by ref_lobatto_nodes().
int main | ( | ) |
Definition at line 229 of file poly_test2.c.
References ref_lagrange_data::D, ref_lagrange_data::D2, gauss_nodes, gauss_quad, gll_lag_setup, gll_lag_size, i, ref_lagrange_data::J, lagrange_setup, lagrange_size, lobatto_quad, N, n, not_same(), p, ref_gauss_nodes(), ref_gauss_weights(), ref_lagrange_0(), ref_lagrange_1(), ref_lagrange_2u(), ref_lagrange_free(), ref_lagrange_setup(), ref_lobatto_nodes(), ref_lobatto_weights(), REPEAT, TIME, tmalloc, uint, x, z, and zr.
|
static |
Definition at line 26 of file poly_test2.c.
References EPS.
Referenced by main().
|
static |
Definition at line 77 of file poly_test2.c.
References cosr, EPS, fabsr, i, legendre(), legendre_d1(), n, PI, and x.
Referenced by main().
Definition at line 115 of file poly_test2.c.
References i, legendre(), and n.
Referenced by main().
|
static |
Definition at line 144 of file poly_test2.c.
References ref_lagrange_data::d, i, ref_lagrange_data::J, n, ref_lagrange_data::n, ref_lagrange_data::u0, ref_lagrange_data::v0, ref_lagrange_data::w, and ref_lagrange_data::z.
Referenced by main().
|
static |
Definition at line 153 of file poly_test2.c.
References ref_lagrange_data::D, ref_lagrange_data::d, i, ref_lagrange_data::J, n, ref_lagrange_data::n, ref_lagrange_data::u0, ref_lagrange_data::u1, ref_lagrange_data::v0, ref_lagrange_data::v1, ref_lagrange_data::w, and ref_lagrange_data::z.
Referenced by main().
|
static |
Definition at line 168 of file poly_test2.c.
References ref_lagrange_data::D, ref_lagrange_data::d, ref_lagrange_data::D2, i, ref_lagrange_data::J, n, ref_lagrange_data::n, ref_lagrange_data::u0, ref_lagrange_data::u1, ref_lagrange_data::u2, ref_lagrange_data::v0, ref_lagrange_data::v1, ref_lagrange_data::v2, ref_lagrange_data::w, and ref_lagrange_data::z.
Referenced by ref_lagrange_setup().
|
static |
Definition at line 186 of file poly_test2.c.
References ref_lagrange_data::d, ref_lagrange_data::D2, i, n, ref_lagrange_data::n, ref_lagrange_data::u0, ref_lagrange_data::u1, ref_lagrange_data::u2, ref_lagrange_data::v0, ref_lagrange_data::v1, ref_lagrange_data::v2, and ref_lagrange_data::w.
Referenced by main().
void ref_lagrange_free | ( | ref_lagrange_data * | p | ) |
Definition at line 222 of file poly_test2.c.
References ref_lagrange_data::w.
Referenced by main().
|
static |
Definition at line 197 of file poly_test2.c.
References ref_lagrange_data::D, ref_lagrange_data::d, ref_lagrange_data::D2, ref_lagrange_data::D2_z0, ref_lagrange_data::D2_zn, ref_lagrange_data::D_z0, ref_lagrange_data::D_zn, i, ref_lagrange_data::J, ref_lagrange_data::J_z0, ref_lagrange_data::J_zn, n, ref_lagrange_data::n, ref_lagrange_2(), tmalloc, ref_lagrange_data::u0, ref_lagrange_data::u1, ref_lagrange_data::u2, ref_lagrange_data::v0, ref_lagrange_data::v1, ref_lagrange_data::v2, ref_lagrange_data::w, z, and ref_lagrange_data::z.
Referenced by main().
|
static |
Definition at line 109 of file poly_test2.c.
References lobatto_nodes_aux().
Referenced by main().
Definition at line 125 of file poly_test2.c.
References i, legendre(), and n.
Referenced by main().