#ifndef BACK_BASE_H #define BACK_BASE_H int ln_baseN(int n, int b); int pw(int x, int n); double pwf(double x, int n); int abs(int n); int min(int a, int b); int max(int a, int b); double mind(double a, double b); double maxd(double a, double b); double absf(double n); int convex_seg(int x1, int x2, double theta); bool is_an_integer(char c); double to_double(int n); int to_int(double n); int line_count(char* filename); int str_to_int(char* s); bool str_equal(char* s1, char* s2); cube_0 create_cube_0(double x, double y, double z, double w, double h, double d, double hz_a, double vt_a, int r, int g, int b); cube create_cube(double x, double y, double z, double w, double h, double d, double hz_a, double vt_a, int r, int g, int b); void free_cube(cube c); teleporter create_teleporter( double x, double y, double z, double w, double h, double d, double hz_a, double vt_a, int r, int g, int b, int chx_dest, int chy_dest, double x_dest, double y_dest, double z_dest ); double convex_pt(double a, double b, double theta); double distance_pt_pt_3d(double x0, double y0, double z0, double x1, double y1, double z1); double distance_pt_seg_3d(double x, double y, double z, double sx, double sy, double sz, double ex, double ey, double ez); double convex_pt(double a, double b, double theta); double distance_pt_pt_3d(double x0, double y0, double z0, double x1, double y1, double z1) ; double distance_pt_seg_3d(double x, double y, double z, double sx, double sy, double sz, double ex, double ey, double ez); double distance_pt_cube_axis(double coord, double begin, double end); double distance_pt_cube_aligned_3d(double x0, double y0, double z0, double cx, double cy, double cz, double cw, double ch, double cd); double distance_pt_cube_0_3d(double x0, double y0, double z0, cube_0 c); double distance_pt_cube_aligned_3d_weighted(double x0, double y0, double z0, double cx, double cy, double cz, double cw, double ch, double cd, double mx, double my, double mz); double distance_pt_cube_0_3d_weighted(double x0, double y0, double z0, double mx, double my, double mz, cube_0 c); double distance_pt_cube_axis_max(double coord, double begin, double end); double distance_pt_cube_aligned_3d_max(double x0, double y0, double z0, double cx, double cy, double cz, double cw, double ch, double cd); double distance_pt_cube_0_3d_max(double x0, double y0, double z0, cube_0 c); void remove_entity(entity** arr, int* memlen, int* len, int index); void add_entity(entity** arr, int* memlen, int* len, entity ent); double distance_pt_cube_3d(double x0, double y0, double z0, cube cb); void project_to_camera(double x0, double y0, double z0, double* rx, double* ry, double* rz); void import_digits(SDL_Renderer* renderer); void import_letters(SDL_Renderer* renderer); void free_digits(imgs dgts); #endif