#include <stdio.h>#include <glib.h>#include <utils/complex.h>Go to the source code of this file.
Defines | |
| #define | eh_dbl_array_cum_mean(x, n) eh_dbl_array_cum_mean_dir(x,n,TRUE ) |
| #define | eh_dbl_array_cum_mean_rev(x, n) eh_dbl_array_cum_mean_dir(x,n,FALSE) |
| #define | eh_dbl_array_cum_sum(x, n) eh_dbl_array_cum_sum_dir (x,n,TRUE ) |
| #define | eh_dbl_array_cum_sum_rev(x, n) eh_dbl_array_cum_sum_dir (x,n,FALSE) |
| #define | eh_dbl_array_cum_max(x, n) eh_dbl_array_cum_max_dir (x,n,TRUE ) |
| #define | eh_dbl_array_cum_max_rev(x, n) eh_dbl_array_cum_max_dir (x,n,FALSE) |
| #define | eh_dbl_array_cum_min(x, n) eh_dbl_array_cum_min_dir (x,n,TRUE ) |
| #define | eh_dbl_array_cum_min_rev(x, n) eh_dbl_array_cum_min_dir (x,n,FALSE) |
Typedefs | |
| typedef double(*) | Eh_root_fcn (double x, gpointer user_data) |
| typedef double( | Cost_fcn )(double *, int) |
| typedef double(*) | Eh_dbl_func_with_data (double x, gpointer data) |
| typedef double(*) | Eh_dbl_func (double x) |
| typedef double(*) | Eh_dbl_cpy_func (gpointer data, double *d) |
| typedef double(*) | Eh_dbl_get_func (gpointer data, gint ind) |
| typedef double(*) | Eh_dbl_set_func (gpointer data, gint ind, double val) |
| typedef double(*) | Eh_dbl_add_func (gpointer data, gint ind, double val) |
| typedef void(*) | Eh_array_func (gpointer data, gpointer user_data) |
| typedef void(*) | Eh_poly_basis_func (double, double *, gssize) |
Enumerations | |
| enum | Eh_num_method { EH_NUM_IMPLICIT, EH_NUM_EXPLICIT } |
Functions | |
| double | eh_safe_dbl_division (double a, double b) |
| gboolean | eh_compare_dbl (double, double, double) |
| double | eh_gamma_log (double xx) |
| double | eh_gamma_p (double a, double x) |
| double | eh_gamma_q (double a, double x) |
| void | eh_gamma_cf (double *gammcf, double a, double x, double *gln) |
| void | eh_gamma_series (double *gamser, double a, double x, double *gln) |
| double | eh_factorial (gssize n) |
| double | eh_factorial_log (gssize n) |
| double | eh_binomial_coef (gssize n, gssize y) |
| void | interpolate (double *, double *, gssize, double *, double *, gssize) |
| void | interpolate_bad_val (double *, double *, gssize, double *, double *, gssize, double) |
| double | poly_interpolate (double *xa, double *ya, gssize n, double x, double *dy) |
| void | poly_basis_funcs (double x, double *p, gssize n) |
| double * | eh_poly_fit (double *x, double *y, gssize len, gssize n) |
| double | eh_poly_r_squared (double *x, double *y, gssize len, double *p, gssize n) |
| double | eh_r_squared (double *x, double *y, gssize len, Eh_dbl_func_with_data f, gpointer data) |
| void | eh_svdfit (double *x, double *y, double *sig, gssize ndata, double *a, gssize ma, double **u, double **v, double *w, double *chisq, Eh_poly_basis_func funcs) |
| double | eh_pythag (double a, double b) |
| void | eh_svbksb (double **u, double *w, double **v, gssize m, gssize n, double *b, double *x) |
| void | eh_svdcmp (double **a, gssize m, gssize n, double *w, double **v) |
| double | eh_poly_eval (double x, double *p, gssize n) |
| double * | eh_linear_fit (double *x, double *y, gssize len) |
| void | eh_fit (double *x, double *y, gssize len, double *sig, gboolean mwt, double *a, double *b, double *siga, double *sigb, double *chi2, double *q) |
| double | trapzd (Eh_dbl_func_with_data func, double a, double b, gssize n, gpointer data) |
| double | qtrap (Eh_dbl_func_with_data func, double a, double b, gpointer data) |
| double | eh_integrate (Eh_dbl_func_with_data func, double a, double b) |
| double | eh_integrate_with_data (Eh_dbl_func_with_data func, double a, double b, gpointer data) |
| gboolean | eh_is_even (gssize n) |
| double | eh_round (double, double) |
| double | eh_reduce_angle (double angle) |
| double * | tridiag (double *l, double *d, double *u, double *b, double *x, int n) |
| Complex * | c_tridiag (Complex *l, Complex *d, Complex *u, Complex *b, Complex *x, int n) |
| double | rtsafe (void(*funcd)(double, double *, double *, double *), double x1, double x2, double xacc, double *) |
| double | eh_bisection (Eh_root_fcn f, double x_0, double x_1, double eps, gpointer user_data) |
| double * | anneal (double *x, int n, Cost_fcn *f, double cost_min) |
| double | bessel_i_0 (double x) |
| double | bessel_k_0 (double x) |
| double | eh_kei_0 (double x) |
| double | eh_erf_inv (double y) |
| long int | i1mach_ (long int *i) |
| double | d1mach_ (long int *i) |
| double * | eh_dbl_array_new (gssize n) |
| double * | eh_dbl_array_new_set (gssize n, double val) |
| double * | eh_dbl_array_dup (double *s, gssize n) |
| double * | eh_dbl_array_copy (double *d, double *s, gssize n) |
| double * | eh_dbl_col_to_array (double *d, double *col, gint n, gssize offset) |
| double * | eh_dbl_array_to_col (double *d, double *s, gint n, gssize offset) |
| double * | eh_dbl_array_rebin_smaller (double *s, gssize n, double bin_size, gint *d_len) |
| double * | eh_dbl_array_rebin_larger (double *s, gssize n, double bin_size, gint *d_len) |
| double * | eh_dbl_array_rebin (double *s, gssize n, double bin_size, gint *d_len) |
| double | eh_dbl_array_min (const double *x, gsize n) |
| gssize | eh_dbl_array_min_ind (const double *x, gssize n) |
| double | eh_dbl_array_max (const double *x, gsize n) |
| gssize | eh_dbl_array_max_ind (const double *x, gssize n) |
| double | eh_dbl_array_abs_max (const double *x, gsize n) |
| gssize | eh_dbl_array_fprint (FILE *fp, double *x, gssize n) |
| gint | eh_dbl_array_write (FILE *fp, double *x, gint len) |
| double | eh_dbl_array_mean (const double *x, gsize n) |
| double * | eh_dbl_array_normalize (double *x, gsize n) |
| double * | eh_dbl_array_foreach (double *x, gssize n, Eh_dbl_func f) |
| double * | eh_dbl_array_mult (double *x, gsize n, double a) |
| double * | eh_dbl_array_mult_each (double *d, gssize n, double *s) |
| double * | eh_dbl_array_add (double *dest, double *src, gssize n) G_GNUC_DEPRECATED |
| double * | eh_dbl_array_add_each (double *d, gssize n, double *s) |
| double | eh_dbl_array_var (const double *x, gsize n) |
| double | eh_dbl_array_sum (const double *x, gsize n) |
| double | eh_dbl_array_abs_sum (const double *x, gsize n) |
| void | eh_dbl_array_fabs (double *x, gsize n) |
| double * | eh_dbl_array_diff (double *d, const double *x, gsize len, gssize n) |
| double * | eh_dbl_array_gradient (const double *x, gsize n, double dx) |
| double * | eh_dbl_array_set (double *x, gsize n, double set_val) |
| double * | eh_dbl_array_grid (double *x, gsize n, double start, double dx) |
| double * | eh_dbl_array_running_mean (double *x, gssize len, gssize n_left, gssize n_right) |
| double * | eh_dbl_array_conv (double *x, gsize len_x, double *y, gsize len_y) |
| double * | eh_low_pass_filter (double *x, gssize len) |
| double * | eh_dbl_array_cum_mean_dir (double *x, gsize n, gboolean forward) |
| double * | eh_dbl_array_cum_sum_dir (double *x, gsize n, gboolean forward) |
| double * | eh_dbl_array_cum_max_dir (double *x, gsize n, gboolean forward) |
| double * | eh_dbl_array_cum_min_dir (double *x, gsize n, gboolean forward) |
| gboolean | eh_dbl_array_compare (double *x, double *y, gssize len, double eps) |
| gboolean | eh_dbl_array_cmp_ge (double *x, double *y, gssize len) |
| gboolean | eh_dbl_array_each_ge (double val, double *x, gssize len) |
| gboolean | eh_dbl_array_each_le (double val, double *x, gssize len) |
| gboolean | eh_dbl_array_is_monotonic_up (double *x, gsize n) |
| gboolean | eh_dbl_array_is_monotonic_down (double *x, gsize n) |
| double * | eh_linspace (double x1, double x2, gssize n) |
| gssize * | eh_id_array (gssize i_0, gssize i_1, gssize *n) |
| double * | eh_uniform_array (double x1, double x2, double dx, gint *n) |
| double * | eh_dbl_array_linspace (double *x, gssize n_x, double x_0, double dx) |
| void | convlv (double data[], unsigned long n, double respns[], unsigned long m, int isign, double ans[]) |
| void | four1 (double data[], unsigned long nn, int isign) |
| void | realft (double data[], unsigned long n, int isign) |
| void | twofft (double data1[], double data2[], double fft1[], double fft2[], unsigned long n) |
| double | eh_dbl_array_mean_weighted (const double x[], gint len, const double f[]) |
| double | log2 (double x) |
| double | eh_nan (void) |
| gboolean | eh_isnan (double x) |
| void | eh_rebin_dbl_array (double *x, double *y, gssize len, double *x_bin, double *y_bin, gssize len_bin) |
| void | eh_rebin_dbl_array_bad_val (double *x, double *y, gssize len, double *x_bin, double *y_bin, gssize len_bin, double bad_val) |
| double * | eh_dbl_array_diffuse_implicit (double *x, gint len, double c) |
| double * | eh_dbl_array_diffuse_explicit (double *x, gint len, double c) |
| double * | eh_dbl_array_diffuse (double *x, gint len, double c, Eh_num_method method) |
| #define eh_dbl_array_cum_max | ( | x, | |||
| n | ) | eh_dbl_array_cum_max_dir (x,n,TRUE ) |
| #define eh_dbl_array_cum_max_rev | ( | x, | |||
| n | ) | eh_dbl_array_cum_max_dir (x,n,FALSE) |
| #define eh_dbl_array_cum_mean | ( | x, | |||
| n | ) | eh_dbl_array_cum_mean_dir(x,n,TRUE ) |
| #define eh_dbl_array_cum_mean_rev | ( | x, | |||
| n | ) | eh_dbl_array_cum_mean_dir(x,n,FALSE) |
| #define eh_dbl_array_cum_min | ( | x, | |||
| n | ) | eh_dbl_array_cum_min_dir (x,n,TRUE ) |
| #define eh_dbl_array_cum_min_rev | ( | x, | |||
| n | ) | eh_dbl_array_cum_min_dir (x,n,FALSE) |
| #define eh_dbl_array_cum_sum | ( | x, | |||
| n | ) | eh_dbl_array_cum_sum_dir (x,n,TRUE ) |
| #define eh_dbl_array_cum_sum_rev | ( | x, | |||
| n | ) | eh_dbl_array_cum_sum_dir (x,n,FALSE) |
| typedef void(*) Eh_array_func(gpointer data, gpointer user_data) |
| typedef double(*) Eh_dbl_add_func(gpointer data, gint ind, double val) |
| typedef double(*) Eh_dbl_cpy_func(gpointer data, double *d) |
| typedef double(*) Eh_dbl_func(double x) |
| typedef double(*) Eh_dbl_func_with_data(double x, gpointer data) |
| typedef double(*) Eh_dbl_get_func(gpointer data, gint ind) |
| typedef double(*) Eh_dbl_set_func(gpointer data, gint ind, double val) |
| typedef void(*) Eh_poly_basis_func(double, double *, gssize) |
| typedef double(*) Eh_root_fcn(double x, gpointer user_data) |
| enum Eh_num_method |
| double* anneal | ( | double * | x, | |
| int | n, | |||
| Cost_fcn * | f, | |||
| double | cost_min | |||
| ) |
| double bessel_i_0 | ( | double | x | ) |
| double bessel_k_0 | ( | double | x | ) |
| void convlv | ( | double | data[], | |
| unsigned long | n, | |||
| double | respns[], | |||
| unsigned long | m, | |||
| int | isign, | |||
| double | ans[] | |||
| ) |
| double d1mach_ | ( | long int * | i | ) |
Definition at line 1376 of file eh_num.c.
References eh_nan(), and eh_require_not_reached.
Referenced by dgamln_(), zacai_(), zacon_(), zairy_(), zasyi_(), zbesh_(), zbesi_(), zbesj_(), zbesk_(), zbesy_(), zbiry_(), zbknu_(), zbuni_(), zmlri_(), zseri_(), zunhj_(), zuni1_(), zuni2_(), zunik_(), zunk1_(), zunk2_(), zuoik_(), and zwrsk_().
| double eh_binomial_coef | ( | gssize | n, | |
| gssize | y | |||
| ) |
Calculate the binomial coefficient
The binomial coefficent is defined as
This is taken from Numerical Recipes
| n | A non-negative integer | |
| y | A non-negative integer |
Definition at line 304 of file eh_num.c.
References eh_factorial_log(), and floor.
Referenced by eh_dbl_array_diff().
| double eh_bisection | ( | Eh_root_fcn | f, | |
| double | x_0, | |||
| double | x_1, | |||
| double | eps, | |||
| gpointer | user_data | |||
| ) |
Definition at line 1120 of file eh_num.c.
References eh_nan(), and eh_return_val_if_fail.
Referenced by get_breaking_wave_depth().
| gboolean eh_compare_dbl | ( | double | , | |
| double | , | |||
| double | ||||
| ) |
Definition at line 31 of file eh_num.c.
References eh_safe_dbl_division().
Referenced by bio_array_to_cell_array(), calculate_next_c_and_h(), compute_next_h(), eh_dbl_array_compare(), eh_dbl_array_rebin_larger(), eh_dbl_array_rebin_smaller(), eh_dbl_grid_rotate(), eh_gamma_series(), eh_linspace(), eh_round(), get_path_entrance_pos(), get_shift_from_exit_pos(), plume_k_bar_dy_established(), plume_k_bar_established(), plume_u_bar_establishment(), plumeout3(), sakura(), sed_cell_is_age(), sed_cell_is_mass(), sed_cell_is_size(), sed_column_base_height_is(), sed_column_bioturbate(), sed_column_is_same_data(), sed_column_mass_is(), sed_column_sediment_mass_is(), sed_column_size_is(), sed_column_top_height_is(), sed_cube_max_height(), sed_cube_min_height(), sed_hydro_array_eventize(), sed_hydro_is_same(), sed_process_fprint(), sed_process_queue_check_family(), sed_river_set_angle(), sed_river_set_angle_limit(), and tridiag().
| double eh_dbl_array_abs_max | ( | const double * | x, | |
| gsize | n | |||
| ) |
| double eh_dbl_array_abs_sum | ( | const double * | x, | |
| gsize | n | |||
| ) |
| double* eh_dbl_array_add | ( | double * | dest, | |
| double * | src, | |||
| gssize | n | |||
| ) |
| double* eh_dbl_array_add_each | ( | double * | d, | |
| gssize | n, | |||
| double * | s | |||
| ) |
| gboolean eh_dbl_array_cmp_ge | ( | double * | x, | |
| double * | y, | |||
| gssize | len | |||
| ) |
Definition at line 2204 of file eh_num.c.
Referenced by inflow_check_params(), and sakura_check_params().
| gboolean eh_dbl_array_compare | ( | double * | x, | |
| double * | y, | |||
| gssize | len, | |||
| double | eps | |||
| ) |
| double* eh_dbl_array_conv | ( | double * | x, | |
| gsize | len_x, | |||
| double * | y, | |||
| gsize | len_y | |||
| ) |
| double* eh_dbl_array_copy | ( | double * | d, | |
| double * | s, | |||
| gssize | n | |||
| ) |
Definition at line 1430 of file eh_num.c.
References eh_dbl_array_new().
Referenced by eh_dbl_array_diffuse_explicit(), eh_dbl_array_dup(), sakura_array_copy(), sakura_array_set_bc(), sakura_array_set_w(), sakura_array_set_x(), sakura_node_set(), sakura_sediment_set_rho_dep(), sakura_sediment_set_rho_grain(), sakura_sediment_set_u_settling(), and sakura_set_outflow().
| double* eh_dbl_array_cum_max_dir | ( | double * | x, | |
| gsize | n, | |||
| gboolean | forward | |||
| ) |
| double* eh_dbl_array_cum_mean_dir | ( | double * | x, | |
| gsize | n, | |||
| gboolean | forward | |||
| ) |
| double* eh_dbl_array_cum_min_dir | ( | double * | x, | |
| gsize | n, | |||
| gboolean | forward | |||
| ) |
| double* eh_dbl_array_cum_sum_dir | ( | double * | x, | |
| gsize | n, | |||
| gboolean | forward | |||
| ) |
Definition at line 2139 of file eh_num.c.
References eh_new.
Referenced by eh_dbl_array_cum_mean_dir().
| double* eh_dbl_array_diff | ( | double * | d, | |
| const double * | x, | |||
| gsize | len, | |||
| gssize | n | |||
| ) |
Definition at line 1927 of file eh_num.c.
References eh_binomial_coef(), eh_free, eh_is_even(), eh_new, eh_new0, eh_require, and eh_return_val_if_fail.
Referenced by eh_dbl_grid_diff().
| double* eh_dbl_array_diffuse | ( | double * | x, | |
| gint | len, | |||
| double | c, | |||
| Eh_num_method | method | |||
| ) |
Definition at line 2949 of file eh_num.c.
References eh_dbl_array_diffuse_explicit(), eh_dbl_array_diffuse_implicit(), EH_NUM_EXPLICIT, EH_NUM_IMPLICIT, and eh_require_not_reached.
Referenced by diffuse_col().
| double* eh_dbl_array_diffuse_explicit | ( | double * | x, | |
| gint | len, | |||
| double | c | |||
| ) |
Definition at line 2926 of file eh_num.c.
References eh_dbl_array_copy(), eh_dbl_array_dup(), and eh_free.
Referenced by eh_dbl_array_diffuse().
| double* eh_dbl_array_diffuse_implicit | ( | double * | x, | |
| gint | len, | |||
| double | c | |||
| ) |
Definition at line 2896 of file eh_num.c.
References eh_dbl_array_dup(), eh_dbl_array_set(), eh_free, eh_new, and tridiag().
Referenced by eh_dbl_array_diffuse().
| double* eh_dbl_array_dup | ( | double * | s, | |
| gssize | n | |||
| ) |
Definition at line 1424 of file eh_num.c.
References eh_dbl_array_copy().
Referenced by bio_conveyor_layers(), diffuse_col(), eh_dbl_array_diffuse_explicit(), eh_dbl_array_diffuse_implicit(), eh_dbl_array_rebin_larger(), eh_dbl_array_rebin_smaller(), inflow_set_sediment_data(), sakura(), and sakura_set_sediment_data().
| gboolean eh_dbl_array_each_ge | ( | double | val, | |
| double * | x, | |||
| gssize | len | |||
| ) |
Definition at line 2221 of file eh_num.c.
References eh_return_val_if_fail.
Referenced by inflow_check_params(), sakura_check_params(), and sed_hydro_check().
| gboolean eh_dbl_array_each_le | ( | double | val, | |
| double * | x, | |||
| gssize | len | |||
| ) |
Definition at line 2237 of file eh_num.c.
References eh_return_val_if_fail.
Referenced by inflow_check_params(), and sakura_check_params().
| void eh_dbl_array_fabs | ( | double * | x, | |
| gsize | n | |||
| ) |
| double* eh_dbl_array_foreach | ( | double * | x, | |
| gssize | n, | |||
| Eh_dbl_func | f | |||
| ) |
| gssize eh_dbl_array_fprint | ( | FILE * | fp, | |
| double * | x, | |||
| gssize | n | |||
| ) |
| double* eh_dbl_array_gradient | ( | const double * | x, | |
| gsize | n, | |||
| double | dx | |||
| ) |
| double* eh_dbl_array_grid | ( | double * | x, | |
| gsize | n, | |||
| double | start, | |||
| double | dx | |||
| ) |
| gboolean eh_dbl_array_is_monotonic_down | ( | double * | x, | |
| gsize | n | |||
| ) |
| gboolean eh_dbl_array_is_monotonic_up | ( | double * | x, | |
| gsize | n | |||
| ) |
Definition at line 2252 of file eh_num.c.
Referenced by eh_input_val_set(), sed_bathy_grid_scan_1d_ascii(), sed_get_floor(), sed_get_floor_sequence_2(), and sed_scan_sea_level_curve().
| double* eh_dbl_array_linspace | ( | double * | x, | |
| gssize | n_x, | |||
| double | x_0, | |||
| double | dx | |||
| ) |
Definition at line 2367 of file eh_num.c.
References eh_require, and eh_return_val_if_fail.
Referenced by eh_grid_set_x_lin(), and eh_grid_set_y_lin().
| double eh_dbl_array_max | ( | const double * | x, | |
| gsize | n | |||
| ) |
| gssize eh_dbl_array_max_ind | ( | const double * | x, | |
| gssize | n | |||
| ) |
| double eh_dbl_array_mean | ( | const double * | x, | |
| gsize | n | |||
| ) |
Definition at line 1752 of file eh_num.c.
References eh_dbl_array_sum().
Referenced by eh_dbl_array_var(), eh_poly_r_squared(), eh_r_squared(), run_darcy_flow(), and run_debris_flow().
| double eh_dbl_array_mean_weighted | ( | const double | x[], | |
| gint | len, | |||
| const double | f[] | |||
| ) |
| double eh_dbl_array_min | ( | const double * | x, | |
| gsize | n | |||
| ) |
Definition at line 1607 of file eh_num.c.
References eh_require, and min.
Referenced by run_plume_hypo().
| gssize eh_dbl_array_min_ind | ( | const double * | x, | |
| gssize | n | |||
| ) |
| double* eh_dbl_array_mult | ( | double * | x, | |
| gsize | n, | |||
| double | a | |||
| ) |
Definition at line 1833 of file eh_num.c.
References eh_require.
Referenced by eh_dbl_array_normalize(), eh_dbl_array_running_mean(), inflow_deposit_sediment(), inflow_erode_sediment(), inflow_flood_from_cell(), inflow_scan_parameter_file(), plume_centerline_deposit(), plume_width_averaged_deposit(), plume_width_averaged_deposit_num(), sakura_deposit_sediment(), sakura_erode_sediment(), sakura_flood_from_cell(), sakura_scan_parameter_file(), and sed_hydro_fraction().
| double* eh_dbl_array_mult_each | ( | double * | d, | |
| gssize | n, | |||
| double * | s | |||
| ) |
Definition at line 1849 of file eh_num.c.
References eh_require.
Referenced by inflow_deposit_sediment(), inflow_erode_sediment(), sakura_deposit_sediment(), and sakura_erode_sediment().
| double* eh_dbl_array_new | ( | gssize | n | ) |
Definition at line 1398 of file eh_num.c.
References eh_new.
Referenced by eh_dbl_array_copy(), and eh_dbl_col_to_array().
| double* eh_dbl_array_new_set | ( | gssize | n, | |
| double | val | |||
| ) |
Definition at line 1408 of file eh_num.c.
References eh_new.
Referenced by inflow_set_sediment_data_from_env(), inflow_set_width_from_cube(), and sakura_set_width_from_cube().
| double* eh_dbl_array_normalize | ( | double * | x, | |
| gsize | n | |||
| ) |
Definition at line 1757 of file eh_num.c.
References eh_dbl_array_mult(), eh_dbl_array_sum(), and eh_require.
Referenced by sed_cell_new_classed().
| double* eh_dbl_array_rebin | ( | double * | s, | |
| gssize | n, | |||
| double | bin_size, | |||
| gint * | d_len | |||
| ) |
Definition at line 1577 of file eh_num.c.
References eh_dbl_array_rebin_larger(), and eh_dbl_array_rebin_smaller().
Referenced by inflow_deposit_sediment(), inflow_erode_sediment(), sakura_deposit_sediment(), and sakura_erode_sediment().
| double* eh_dbl_array_rebin_larger | ( | double * | s, | |
| gssize | n, | |||
| double | bin_size, | |||
| gint * | d_len | |||
| ) |
Definition at line 1533 of file eh_num.c.
References eh_compare_dbl(), eh_dbl_array_dup(), eh_dbl_array_sum(), eh_new, eh_require, and floor.
Referenced by eh_dbl_array_rebin().
| double* eh_dbl_array_rebin_smaller | ( | double * | s, | |
| gssize | n, | |||
| double | bin_size, | |||
| gint * | d_len | |||
| ) |
Definition at line 1488 of file eh_num.c.
References eh_compare_dbl(), eh_dbl_array_dup(), eh_new, eh_require, and floor.
Referenced by eh_dbl_array_rebin().
| double* eh_dbl_array_running_mean | ( | double * | x, | |
| gssize | len, | |||
| gssize | n_left, | |||
| gssize | n_right | |||
| ) |
Definition at line 2041 of file eh_num.c.
References eh_dbl_array_mult(), eh_dbl_array_sum(), eh_require, and eh_return_val_if_fail.
| double* eh_dbl_array_set | ( | double * | x, | |
| gsize | n, | |||
| double | set_val | |||
| ) |
Definition at line 2019 of file eh_num.c.
References eh_new.
Referenced by eh_dbl_array_diffuse_implicit(), get_sediment_flux(), main(), run_darcy_flow(), run_debris_flow(), sakura(), sakura_node_set(), and sakura_sed_get_phe().
| double eh_dbl_array_sum | ( | const double * | x, | |
| gsize | n | |||
| ) |
Definition at line 1880 of file eh_num.c.
References eh_nan(), and eh_return_val_if_fail.
Referenced by bio_conveyor(), bio_conveyor_layers(), eh_dbl_array_mean(), eh_dbl_array_normalize(), eh_dbl_array_rebin_larger(), eh_dbl_array_running_mean(), move_sediment(), sakura(), sakura_next_c_grain(), sed_cell_add_amount(), sed_cell_set_amount(), and sed_column_bioturbate().
| double* eh_dbl_array_to_col | ( | double * | d, | |
| double * | s, | |||
| gint | n, | |||
| gssize | offset | |||
| ) |
| double eh_dbl_array_var | ( | const double * | x, | |
| gsize | n | |||
| ) |
| gint eh_dbl_array_write | ( | FILE * | fp, | |
| double * | x, | |||
| gint | len | |||
| ) |
| double* eh_dbl_col_to_array | ( | double * | d, | |
| double * | col, | |||
| gint | n, | |||
| gssize | offset | |||
| ) |
| double eh_erf_inv | ( | double | y | ) |
Inverse error function.
X = ERFINV(Y) is the inverse error function for each element of Y. The inverse error function satisfies y = erf(x), for -1 <= y <= 1 and -inf <= x <= inf.
| y |
Definition at line 1290 of file eh_num.c.
References eh_isnan(), eh_nan(), and M_PI.
Referenced by eh_max_log_normal().
| double eh_factorial | ( | gssize | n | ) |
Calculate the factorial of an integer.
This is taken from Numerical Recipes
| n | A non-negative integer |
Definition at line 248 of file eh_num.c.
References eh_gamma_log(), eh_nan(), and eh_return_val_if_fail.
| double eh_factorial_log | ( | gssize | n | ) |
Calculate the log of a factorial of an integer.
This is taken from Numerical Recipes
| n | A non-negative integer |
Definition at line 275 of file eh_num.c.
References eh_gamma_log(), and eh_require.
Referenced by eh_binomial_coef().
| void eh_fit | ( | double * | x, | |
| double * | y, | |||
| gssize | len, | |||
| double * | sig, | |||
| gboolean | mwt, | |||
| double * | a, | |||
| double * | b, | |||
| double * | siga, | |||
| double * | sigb, | |||
| double * | chi2, | |||
| double * | q | |||
| ) |
Definition at line 785 of file eh_num.c.
References eh_gamma_q(), and eh_sqr.
Referenced by eh_linear_fit().
| void eh_gamma_cf | ( | double * | gammcf, | |
| double | a, | |||
| double | x, | |||
| double * | gln | |||
| ) |
The incomplete gamma function, 
This is taken from Numerical Recipes.
Calculate the incomplete Gamma function,
,
using its continued fraction representation. This converges rapidly for
.
| gammcf | The incomplete Gamma function evaluated at | |
| a | A floating point number | |
| x | A floating point number | |
| gln | Log the the Gamma function at ![]() |
Definition at line 153 of file eh_num.c.
References eh_gamma_log(), and EPS.
Referenced by eh_gamma_p(), and eh_gamma_q().
| double eh_gamma_log | ( | double | xx | ) |
Calculate the log of the gamma function
This is taken from Numerical Recipes
| xx | A floating point number |
Definition at line 50 of file eh_num.c.
Referenced by eh_factorial(), eh_factorial_log(), eh_gamma_cf(), and eh_gamma_series().
| double eh_gamma_p | ( | double | a, | |
| double | x | |||
| ) |
The incomplete Gamma Function, 
This is taken from Numerical Recipes.
Calculate the Gamma function,
,
| a | A floating point number | |
| x | A floating point number |
Definition at line 77 of file eh_num.c.
References eh_gamma_cf(), eh_gamma_series(), and eh_require.
| double eh_gamma_q | ( | double | a, | |
| double | x | |||
| ) |
The incomplete gamma function
This is taken from Numerical Recipes.
Calculate the incomplete Gamma function,
,
| a | A floating point number | |
| x | A floating point number |
Definition at line 111 of file eh_num.c.
References eh_gamma_cf(), eh_gamma_series(), and eh_require.
Referenced by eh_fit().
| void eh_gamma_series | ( | double * | gamser, | |
| double | a, | |||
| double | x, | |||
| double * | gln | |||
| ) |
The incomplete gamma function 
This is taken from Numerical Recipes.
Calculate the incomplete Gamma function,
, using its series representation. This converges rapidly for
.
| gamser | The incomplete Gamma function evaluated at | |
| a | A floating point number | |
| x | A floating point number | |
| gln | Log the the Gamma function at ![]() |
Definition at line 202 of file eh_num.c.
References eh_compare_dbl(), eh_gamma_log(), eh_require, and EPS.
Referenced by eh_gamma_p(), and eh_gamma_q().
| gssize* eh_id_array | ( | gssize | i_0, | |
| gssize | i_1, | |||
| gssize * | n | |||
| ) |
Definition at line 2311 of file eh_num.c.
References eh_new, and eh_require.
Referenced by inflow_set_bathy_data_from_cube(), and sakura_set_bathy_data_from_cube().
| double eh_integrate | ( | Eh_dbl_func_with_data | func, | |
| double | a, | |||
| double | b | |||
| ) |
| double eh_integrate_with_data | ( | Eh_dbl_func_with_data | func, | |
| double | a, | |||
| double | b, | |||
| gpointer | data | |||
| ) |
Definition at line 908 of file eh_num.c.
References EH_QROMB_EPS, EH_QROMB_JMAX, EH_QROMB_JMAXP, EH_QROMB_K, poly_interpolate(), and trapzd().
Referenced by eh_integrate(), plume_centerline_deposit_nd(), plume_inv_nd(), plume_width_averaged_deposit_nd(), and plume_width_averaged_inv_at().
| gboolean eh_is_even | ( | gssize | n | ) |
Is this integer even
| n | An integer |
Definition at line 937 of file eh_num.c.
Referenced by eh_dbl_array_diff().
| gboolean eh_isnan | ( | double | x | ) |
Definition at line 2794 of file eh_num.c.
Referenced by compute_next_h(), eh_dbl_grid_sum_bad_val(), eh_erf_inv(), fill_to_bruun(), get_bruun_profile(), run_avulsion(), run_sea_level(), sed_get_floor(), and sed_wave_is_bad().
| double eh_kei_0 | ( | double | x | ) |
Definition at line 1229 of file eh_num.c.
References eh_require, M_PI, and zbesk_().
Referenced by subside_point_load().
| double* eh_linear_fit | ( | double * | x, | |
| double * | y, | |||
| gssize | len | |||
| ) |
| double* eh_linspace | ( | double | x1, | |
| double | x2, | |||
| gssize | n | |||
| ) |
Generate an array of equally spaced numbers.
Generate an array of n linearly equally spaced points between x1 and x2. returns a pointer to a newly allocated array. should be freed using eh_free.
| x1 | Lower bound | |
| x2 | Lower bound | |
| n | Number of points |
Definition at line 2289 of file eh_num.c.
References eh_compare_dbl(), eh_new, eh_require, and sign.
Referenced by eh_logspace(), and main().
| double* eh_low_pass_filter | ( | double * | x, | |
| gssize | len | |||
| ) |
| double eh_nan | ( | void | ) |
Definition at line 2788 of file eh_num.c.
Referenced by d1mach_(), eh_bisection(), eh_dbl_array_abs_sum(), eh_dbl_array_sum(), eh_dbl_array_var(), eh_dbl_grid_rebin(), eh_dbl_grid_sum(), eh_erf_inv(), eh_factorial(), eh_key_file_get_dbl_value(), eh_rebin_dbl_array(), eh_str_to_dbl(), eh_str_to_int(), eh_str_to_time_in_years(), eh_symbol_table_dbl_value(), eh_symbol_table_time_value(), get_bruun_a(), get_bruun_profile(), interpolate(), interpolate_2(), rtsafe(), sed_cell_bulk_log_permeability(), sed_dispersion_relation_frequency(), sed_dispersion_relation_wave_number(), sed_measure_cube_age(), sed_measure_cube_basement(), sed_measure_cube_clay_fraction(), sed_measure_cube_density(), sed_measure_cube_elevation(), sed_measure_cube_facies(), sed_measure_cube_grain_size(), sed_measure_cube_mud_fraction(), sed_measure_cube_permeability(), sed_measure_cube_porosity(), sed_measure_cube_sand_fraction(), sed_measure_cube_silt_fraction(), sed_measure_cube_slope(), sed_measure_cube_thickness(), sed_measure_cube_water_depth(), sed_tripod_header_fprint(), sed_tripod_header_new(), and sed_tripod_measure().
| double eh_poly_eval | ( | double | x, | |
| double * | p, | |||
| gssize | n | |||
| ) |
| double* eh_poly_fit | ( | double * | x, | |
| double * | y, | |||
| gssize | len, | |||
| gssize | n | |||
| ) |
Definition at line 429 of file eh_num.c.
References eh_free, eh_free_2, eh_new, eh_new_2, eh_svdfit(), and poly_basis_funcs().
| double eh_poly_r_squared | ( | double * | x, | |
| double * | y, | |||
| gssize | len, | |||
| double * | p, | |||
| gssize | n | |||
| ) |
| double eh_pythag | ( | double | a, | |
| double | b | |||
| ) |
| double eh_r_squared | ( | double * | x, | |
| double * | y, | |||
| gssize | len, | |||
| Eh_dbl_func_with_data | f, | |||
| gpointer | data | |||
| ) |
| void eh_rebin_dbl_array | ( | double * | x, | |
| double * | y, | |||
| gssize | len, | |||
| double * | x_bin, | |||
| double * | y_bin, | |||
| gssize | len_bin | |||
| ) |
| void eh_rebin_dbl_array_bad_val | ( | double * | x, | |
| double * | y, | |||
| gssize | len, | |||
| double * | x_bin, | |||
| double * | y_bin, | |||
| gssize | len_bin, | |||
| double | bad_val | |||
| ) |
Definition at line 2808 of file eh_num.c.
References eh_clamp, eh_free, and eh_new.
Referenced by eh_dbl_grid_rebin_bad_val(), and eh_rebin_dbl_array().
| double eh_reduce_angle | ( | double | angle | ) |
Find the equivalent angle between -PI and PI
| angle | An angle (in radians) |
Definition at line 963 of file eh_num.c.
Referenced by avulsion(), bed_load_2d_domain(), is_between_angles(), plumeout3(), sed_cube_find_line_path(), sed_river_set_angle(), and sed_river_set_angle_limit().
| double eh_round | ( | double | val, | |
| double | rnd | |||
| ) |
Round-off a value
| val | Value to round | |
| rnd | Multiple to round to |
Definition at line 949 of file eh_num.c.
References eh_compare_dbl().
Referenced by eh_dbl_grid_rotate(), sed_cube_property_subgrid(), and sed_process_is_on().
| double eh_safe_dbl_division | ( | double | a, | |
| double | b | |||
| ) |
Definition at line 25 of file eh_num.c.
Referenced by eh_compare_dbl(), sed_process_error(), and sed_process_fprint_info().
| void eh_svbksb | ( | double ** | u, | |
| double * | w, | |||
| double ** | v, | |||
| gssize | m, | |||
| gssize | n, | |||
| double * | b, | |||
| double * | x | |||
| ) |
| void eh_svdcmp | ( | double ** | a, | |
| gssize | m, | |||
| gssize | n, | |||
| double * | w, | |||
| double ** | v | |||
| ) |
Definition at line 575 of file eh_num.c.
References eh_free, eh_max, eh_min, eh_new, eh_nrsign, eh_pythag(), and jj.
Referenced by eh_svdfit().
| void eh_svdfit | ( | double * | x, | |
| double * | y, | |||
| double * | sig, | |||
| gssize | ndata, | |||
| double * | a, | |||
| gssize | ma, | |||
| double ** | u, | |||
| double ** | v, | |||
| double * | w, | |||
| double * | chisq, | |||
| Eh_poly_basis_func | funcs | |||
| ) |
Definition at line 498 of file eh_num.c.
References eh_free, eh_new, eh_svbksb(), and eh_svdcmp().
Referenced by eh_poly_fit().
| double* eh_uniform_array | ( | double | x1, | |
| double | x2, | |||
| double | dx, | |||
| gint * | n | |||
| ) |
Definition at line 2341 of file eh_num.c.
References eh_new, and eh_require.
Referenced by inflow_set_bathy_data(), plume_k_bar_at_x(), plume_k_bar_dy_at_x(), plume_u_bar_at_x(), plume_v_bar_at_x(), and sakura_set_bathy_data().
| void four1 | ( | double | data[], | |
| unsigned long | nn, | |||
| int | isign | |||
| ) |
| long int i1mach_ | ( | long int * | i | ) |
| void interpolate | ( | double * | , | |
| double * | , | |||
| gssize | , | |||
| double * | , | |||
| double * | , | |||
| gssize | ||||
| ) |
Definition at line 309 of file eh_num.c.
References eh_nan(), and interpolate_bad_val().
Referenced by bing(), eh_data_record_interpolate_rows(), eh_dbl_grid_remesh(), eh_input_val_eval(), eh_rand_user(), get_beaufort_scale_from_height(), get_height_from_beaufort_scale(), get_sea_level(), get_tectonics(), get_wave_from_beaufort_scale_old(), get_wind_from_beaufort_scale(), inflow_set_bathy_data(), plumeout2(), sakura_set_bathy_data(), sed_bathy_grid_scan_1d_ascii(), sed_get_floor(), and sed_get_floor_sequence_2().
| void interpolate_bad_val | ( | double * | , | |
| double * | , | |||
| gssize | , | |||
| double * | , | |||
| double * | , | |||
| gssize | , | |||
| double | ||||
| ) |
Definition at line 315 of file eh_num.c.
References eh_require_not_reached.
Referenced by interpolate(), and interpolate_2_bad_val().
| double log2 | ( | double | x | ) |
| void poly_basis_funcs | ( | double | x, | |
| double * | p, | |||
| gssize | n | |||
| ) |
| double poly_interpolate | ( | double * | xa, | |
| double * | ya, | |||
| gssize | n, | |||
| double | x, | |||
| double * | dy | |||
| ) |
Definition at line 368 of file eh_num.c.
References eh_free, eh_new, and eh_require.
Referenced by eh_integrate_with_data().
| double qtrap | ( | Eh_dbl_func_with_data | func, | |
| double | a, | |||
| double | b, | |||
| gpointer | data | |||
| ) |
| void realft | ( | double | data[], | |
| unsigned long | n, | |||
| int | isign | |||
| ) |
| double rtsafe | ( | void(*)(double, double *, double *, double *) | funcd, | |
| double | x1, | |||
| double | x2, | |||
| double | xacc, | |||
| double * | ||||
| ) |
Definition at line 1062 of file eh_num.c.
References eh_nan(), and MAXIT.
Referenced by sed_dispersion_relation_wave_number(), and sed_wave_break_depth().
| double trapzd | ( | Eh_dbl_func_with_data | func, | |
| double | a, | |||
| double | b, | |||
| gssize | n, | |||
| gpointer | data | |||
| ) |
| double* tridiag | ( | double * | l, | |
| double * | d, | |||
| double * | u, | |||
| double * | b, | |||
| double * | x, | |||
| int | n | |||
| ) |
Solve a tridiagonal set of equations.
Solve the system of linear equations for
in,
| l | entries on the lower diagonal. | |
| d | entries on the diagonal. | |
| u | entries on the upper diagonal. | |
| b | entries of the right hand side column vector. | |
| x | the output column vector. | |
| n | the number of equations in the system. |
Definition at line 991 of file eh_num.c.
References eh_compare_dbl(), eh_free, and eh_new.
Referenced by eh_dbl_array_diffuse_implicit(), plume_i_bar_at_x(), and solve_excess_pore_pressure().
| void twofft | ( | double | data1[], | |
| double | data2[], | |||
| double | fft1[], | |||
| double | fft2[], | |||
| unsigned long | n | |||
| ) |
1.5.2