From 6224148fdd809170d138216d72b8e6180d626aec Mon Sep 17 00:00:00 2001 From: xleroy Date: Wed, 17 Feb 2010 13:44:32 +0000 Subject: Reorganization test directory git-svn-id: https://yquem.inria.fr/compcert/svn/compcert/trunk@1253 fca1b0fc-160b-0410-b1d3-a4f43f01ea2e --- test/ccured_olden/bh/defs.h | 196 -------------------------------------------- 1 file changed, 196 deletions(-) delete mode 100644 test/ccured_olden/bh/defs.h (limited to 'test/ccured_olden/bh/defs.h') diff --git a/test/ccured_olden/bh/defs.h b/test/ccured_olden/bh/defs.h deleted file mode 100644 index d8b46432..00000000 --- a/test/ccured_olden/bh/defs.h +++ /dev/null @@ -1,196 +0,0 @@ -/****************************************************************************/ -/* DEFS.H: include file for hierarchical force calculation routines. The */ -/* definitions in this file are needed for load.c and grav.c; this file */ -/* does not provide definitions for other parts of the N-body code. */ -/* */ -/* Copyright (c) 1993 by Joshua E. Barnes, Honolulu, HI. */ -/* It's free because it's yours. */ -/****************************************************************************/ - -#include "stdinc.h" -#include "real.h" -#include "vectmath.h" - -/* - * Body and cell data structures are used to represent the tree. During - * tree construction, descendent pointers are stored in the subp arrays: - * - * +-------------------------------------------------------------+ - * root --> | CELL: mass, pos, next, rcrit2, more, subp:[/,o,/,/,/,/,o,/] | - * +----------------------------------------------|---------|----+ - * | | - * +---------------------------------------------------+ | - * | | - * | +--------------------------------------+ | - * +--> | BODY: mass, pos, next, vel, acc, phi | | - * +--------------------------------------+ | - * | - * +-------------------------------------------------------------+ - * | - * | +-------------------------------------------------------------+ - * +--> | CELL: mass, pos, next, rcrit2, more, subp:[o,/,/,o,/,/,o,/] | - * +--------------------------------------------|-----|-----|----+ - * etc etc etc - * - * After the tree is complete, it is threaded to permit linear force - * calculation, using the next and more pointers. The storage used for - * the subp arrays may be reused to store quadrupole moments. - * - * +-----------------------------------------------+ - * root --> | CELL: mass, pos, next:/, rcrit2, more:o, quad | - * +---------------------------------------|-------+ - * | - * +--------------------------------------------+ - * | - * | +----------------------------------------+ - * +--> | BODY: mass, pos, next:o, vel, acc, phi | - * +-----------------------|----------------+ - * | - * +----------------------------+ - * | - * | +-----------------------------------------------+ - * +--> | CELL: mass, pos, next:/, rcrit2, more:o, quad | - * +---------------------------------------|-------+ - * etc - */ - -/* - * NODE: data common to BODY and CELL structures. - */ - -typedef struct _node { - short type; /* code for node type */ - real mass; /* total mass of node */ - vector pos; /* position of node */ - struct _node *next; /* link to next force-calc */ -} node, *nodeptr; - -#define Type(x) (((nodeptr) (x))->type) -#define Mass(x) (((nodeptr) (x))->mass) -#define Pos(x) (((nodeptr) (x))->pos) -#define Next(x) (((nodeptr) (x))->next) - -/* - * BODY: data structure used to represent particles. - */ - -#define BODY 01 /* type code for bodies */ - -typedef struct { - node bodynode; /* data common to all nodes */ - vector vel; /* velocity of body */ - vector acc; /* acceleration of body */ - real phi; /* potential at body */ -} body, *bodyptr; - - -#define Body body - -#if defined(CCURED) && !defined(NO_PERF_CHANGES) - extern bodyptr node2body(nodeptr x); -#else - // when not in box mode, or when we want to measure the original program's - // performance, use an ordinary cast - #define node2body(x) ((bodyptr)(x)) -#endif - -#define Vel(x) (((x))->vel) -#define Acc(x) (((x))->acc) -#define Phi(x) (((x))->phi) - -// Field accessor functions from nodeptr -#define VelN(x) ((node2body(x))->vel) -#define AccN(x) ((node2body(x))->acc) -#define PhiN(x) ((node2body(x))->phi) - -/* - * CELL: structure used to represent internal nodes of tree. - */ - -#define CELL 02 /* type code for cells */ - -#define NSUB (1 << NDIM) /* subcells per cell */ - -#ifndef __SAFEUNION -#define __SAFEUNION -#endif - -typedef struct { - node cellnode; /* data common to all nodes */ - real rcrit2; /* critical c-of-m radius^2 */ - nodeptr more; /* link to first descendent */ - union { /* shared storage for... */ - nodeptr subp[NSUB]; /* descendents of cell */ - matrix quad; /* quad. moment of cell */ - } __SAFEUNION stuff; -} cell, *cellptr; - -#if defined(CCURED) && !defined(NO_PERF_CHANGES) - extern cellptr node2cell(nodeptr x); -#else - #define node2cell(x) ((cellptr)(x)) -#endif - -#define Rcrit2(x) ((x)->rcrit2) -#define More(x) ((x)->more) -#define Subp(x) ((x)->stuff.subp) -#define Quad(x) ((x)->stuff.quad) - -#define Rcrit2N(x) ((node2cell(x))->rcrit2) -#define MoreN(x) ((node2cell(x))->more) -#define SubpN(x) ((node2cell(x))->stuff.subp) -#define QuadN(x) ((node2cell(x))->stuff.quad) - -/* - * Variables used in tree construction. - */ - -global cellptr root; /* pointer to root cell */ - -global real rsize; /* side-length of root cell */ - -global int cellused; /* count of cells in tree */ - -global int maxlevel; /* count of levels in tree */ - -/* - * Parameters and results for gravitational calculation. - */ - -global string options; /* various option keywords */ - -global real theta; /* accuracy parameter: 0.0 => exact */ - -global bool usequad; /* use quadrupole corrections */ - -global real eps; /* potential softening parameter */ - -global int n2bterm; /* number 2-body of terms evaluated */ - -global int nbcterm; /* num of body-cell terms evaluated */ - -/* - * Utility routines used in load.c and grav.c. These are defined in - * util.c, which must be compiled with the same choice of precision. - */ - -bool scanopt(string, string); /* find option in string */ -real cputime(void); /* return elapsed CPU time */ - -#ifdef CCURED - #pragma ccuredvararg("error", printf(1)) - #pragma ccuredvararg("eprintf", printf(1)) - #ifndef NO_PERF_CHANGES - #pragma ccuredalloc("allocate", zero, sizein(1)) - #endif -#endif -void *allocate(int); /* allocate and zero memory */ - -real distv(vector, vector); /* distance between vectors */ - -void error(string, ...); /* report error and exit */ - -void eprintf(string, ...); /* printf to error stream */ - - - -- cgit