27#ifndef _MDCORE_INCLUDE_TFRUNNER_H_
28#define _MDCORE_INCLUDE_TFRUNNER_H_
30#include "tf_platform.h"
36#define runner_minsleep 1000
39#define runner_bitesize 3
42#define runner_verlet_bitesize 200
45#define runner_dispatch_stop 0xffffffff
46#define runner_dispatch_lookahead 20
51 runner_timer_queue = 0,
62 CAPI_DATA(ticks) runner_timers[];
67#define TIMER_TIC_ND tic = getticks();
68#define TIMER_TIC2_ND ticks tic2 = getticks();
69#define TIMER_TIC ticks tic = getticks();
70#define TIMER_TOC(t) timers_toc(t, tic)
71#define TIMER_TIC2 ticks tic2 = getticks();
72#define TIMER_TOC2(t) timers_toc(t, tic2)
74# if __GNUC__ && !__GNUC_STDC_INLINE__
75# define INLINE extern inline
80INLINE
static ticks timers_toc(
int t, ticks tic) {
81 ticks d = (getticks() - tic);
82 __sync_add_and_fetch(&TissueForge::runner_timers[t], d);
103 pthread_mutex_t mutex;
107 int first, last, size, count;
Include Python header, disable linking to pythonX_d.lib on Windows in debug mode.
Definition tfAngleConfig.h:26
void runner_sort_ascending(unsigned int *parts, int N)
Sort the particles in ascending order using QuickSort.
HRESULT runner_run(struct runner *r)
HRESULT runner_dopair_fluxonly(struct runner *r, struct space_cell *cell_i, struct space_cell *cell_j, int sid)
Compute the pairwise fluxes for the given pair.
HRESULT runner_dopair(struct runner *r, struct space_cell *cell_i, struct space_cell *cell_j, int sid)
Compute the pairwise interactions for the given pair.
HRESULT runner_dosort(struct runner *r, struct space_cell *c, int flags)
Fill in the pairwise Verlet list entries for the given cell pair if needed and compute the interactio...
void runner_sort_descending(unsigned int *parts, int N)
Sort the particles in descending order using QuickSort.
HRESULT runner_verlet_eval(struct runner *r, struct space_cell *c, FPTYPE *f_out)
Compute the interactions between the particles in the given space_cell using the verlet list.
HRESULT runner_verlet_fill(struct runner *r, struct space_cell *cell_i, struct space_cell *cell_j, FPTYPE *pshift)
Fill in the Verlet list entries for the given space_cell pair.
HRESULT runner_doself(struct runner *r, struct space_cell *cell_i)
Compute the self-interactions for the given cell.
HRESULT runner_init(struct runner *r, struct engine *e, int id)
Initialize the runner associated to the given engine.
HRESULT runner_doself_fluxonly(struct runner *r, struct space_cell *cell_i)
Compute the self-fluxes for the given cell.
Definition tfEngine.h:164
Definition tfRunner.h:100
Definition tfRunner.h:115
int err
Definition tfRunner.h:127
FPTYPE epot
Definition tfRunner.h:130
the space_cell structure
Definition tfSpace_cell.h:103
int32_t HRESULT
Definition tf_port.h:255