14 #ifndef __STARSH_PARTICLES_H__ 15 #define __STARSH_PARTICLES_H__ 129 #endif // __STARSH_PARTICLES_H__
Uniform in [0,1] grid, but each grid coordinate is slightly shifted.
Definition: starsh-particles.h:68
ssize_t STARSH_int
STARSH signed integer to support more, than MAX_INT rows/columns.
Definition: starsh.h:64
int starsh_particles_generate_obsolete2(STARSH_particles **data, STARSH_int count, int ndim)
Generate a uniform grid of particles with random shift of grid coordinates.
Definition: particles.c:557
void starsh_particles_free(STARSH_particles *data)
Free memory of STARSH_particles object.
Definition: particles.c:98
Uniform in [0,1] grid.
Definition: starsh-particles.h:60
#define ndim
Replace variable ndim with static integer value.
Definition: kernel_sin_1d.c:28
Grid, based on uniform in [0,1] distribution of coordinates.
Definition: starsh-particles.h:62
STARSH_int count
Number of particles.
Definition: starsh-particles.h:41
Old version of STARSH_PARTICLES_QUASIUNIFORM2 (for compatibility).
Definition: starsh-particles.h:72
int starsh_particles_init(STARSH_particles **data, STARSH_int count, int ndim, double *point)
Initialize STARSH_particles object by given data.
Definition: particles.c:57
struct starsh_particles STARSH_particles
Structure for general N-body problems.
Old version of STARSH_PARTICLES_QUASIUNIFORM1 (for compatibility).
Definition: starsh-particles.h:70
int starsh_particles_write_to_file_pointer_ascii(const STARSH_particles *data, FILE *fp)
Write STARSH_particles object to file pointer in ASCII format.
Definition: particles.c:1012
Uniform random distribution in [0,1] range.
Definition: starsh-particles.h:56
int ndim
Dimensionality of space.
Definition: starsh-particles.h:43
Uniform in [0,1] grid, but each particle is slightly shifted.
Definition: starsh-particles.h:66
int starsh_particles_generate_obsolete4(STARSH_particles **data, STARSH_int count, int ndim)
Generate a uniform grid of particles with random shift of each particle.
Definition: particles.c:713
STARSH_PARTICLES_PLACEMENT
Distribution of particles for starsh_particles_generate().
Definition: starsh-particles.h:51
int starsh_particles_generate_quasiuniform1(STARSH_particles **data, STARSH_int count, int ndim)
Generate a uniform grid of particles with random shift of each particle.
Definition: particles.c:341
int starsh_particles_write_to_file_pointer_binary(const STARSH_particles *data, FILE *fp)
Write STARSH_particles object to file pointer in binary format.
Definition: particles.c:1059
Uniform in [0,1] grid, but each grid coordinate is slightly shifted.
Definition: starsh-particles.h:77
double * point
Coordinates of particles.
Definition: starsh-particles.h:45
int starsh_particles_write_to_file_pointer(const STARSH_particles *data, FILE *fp, const enum STARSH_FILE_TYPE ftype)
Write STARSH_particles object to file pointer.
Definition: particles.c:985
STARSH_FILE_TYPE
Enum type to show file format (ASCII or binary)
Definition: starsh-constants.h:121
int starsh_particles_write_to_file(const STARSH_particles *data, const char *fname, const enum STARSH_FILE_TYPE ftype)
Write STARSH_particles object to file.
Definition: particles.c:948
int starsh_particles_generate_uniform(STARSH_particles **data, STARSH_int count, int ndim)
Generate a uniform grid of particles.
Definition: particles.c:269
int starsh_particles_zsort_inplace(STARSH_particles *data)
Sort particles in Z-order (Morton order).
Definition: particles.c:1090
int starsh_particles_read_from_file_pointer_binary(STARSH_particles **data, FILE *fp)
Read STARSH_particles object from file pointer in binary format.
Definition: particles.c:907
int starsh_particles_read_from_file(STARSH_particles **data, const char *fname, const enum STARSH_FILE_TYPE ftype)
Read STARSH_particles object from file.
Definition: particles.c:789
int starsh_particles_generate_rand(STARSH_particles **data, STARSH_int count, int ndim)
Generate particles with [0,1] uniform random distribution.
Definition: particles.c:177
int starsh_particles_generate_obsolete1(STARSH_particles **data, STARSH_int count, int ndim)
Generate a uniform grid of particles with random shift of each particle.
Definition: particles.c:488
int starsh_particles_new(STARSH_particles **data, STARSH_int count, int ndim)
Allocate memory for STARSH_particles object.
Definition: particles.c:19
int starsh_particles_generate_quasiuniform2(STARSH_particles **data, STARSH_int count, int ndim)
Generate a uniform grid of particles with random shift of grid coordinates.
Definition: particles.c:413
int starsh_particles_generate(STARSH_particles **data, STARSH_int count, int ndim, enum STARSH_PARTICLES_PLACEMENT ptype)
Generate STARSH_particles with required distribution.
Definition: particles.c:112
Uniform in [0,1] grid, but each grid coordinate is slightly shifted.
Definition: starsh-particles.h:74
int starsh_particles_read_from_file_pointer(STARSH_particles **data, FILE *fp, const enum STARSH_FILE_TYPE ftype)
Read STARSH_particles object from file pointer.
Definition: particles.c:826
int starsh_particles_read_from_file_pointer_ascii(STARSH_particles **data, FILE *fp)
Read STARSH_particles object from file pointer in ASCII format.
Definition: particles.c:853
int starsh_particles_generate_obsolete3(STARSH_particles **data, STARSH_int count, int ndim)
Generate a uniform grid of particles with random shift of each particle.
Definition: particles.c:637
int starsh_particles_generate_randgrid(STARSH_particles **data, STARSH_int count, int ndim)
Generate a grid on randomly distributed grid coordinates.
Definition: particles.c:203
Structure for general N-body problems.
Definition: starsh-particles.h:36