X-Git-Url: https://www.hackdaworld.org/gitweb/?a=blobdiff_plain;f=main.c;h=49be0ef95050c2626479a8cee0c18e60221a7af3;hb=3ec676caee02b75707e472b0294e8be51aab4c42;hp=a030dd626f6f7f60f69faf974799490c1fb59538;hpb=5bfef21f2626d1a7860d677a9a4008bcd4c0b84e;p=physik%2Fmorpheus.git diff --git a/main.c b/main.c index a030dd6..49be0ef 100644 --- a/main.c +++ b/main.c @@ -8,6 +8,138 @@ * * refs: * - J. K. N. Lindner. Habilationsschrift, Universitaet Augsburg. - * - Maik Häberlen. Diplomarbeit, Universitaet Augsburg. + * - Maik Haeberlen. Diplomarbeit, Universitaet Augsburg. */ +#include +#include +#include +#include +#include + +#include "defines.h" + +/* global variables */ +u32 sum_z_segments; +int random_fd; /* /dev/urandom file descriptor */ + +int usage() +{ + puts("usage:"); + puts("-h: help"); + puts("-a \t slope of nuclear energy loss (default 1)"); + puts("-c \t nuclear enery loss at depths 0 (default 0)"); + puts("-x \t # x segments (default 50)"); + puts("-y \t # y segments (default 50)"); + puts("-z \t # z segments (default 100)"); + puts("-s \t # steps to calculate (default 5000"); + return -23; +} + +int make_amorph(u32 *segment) +{ + *segment=*segment|AMORPH + return 23; +} + +/* look at segment ... */ +int process_segment(u32 *segment) +{ + /* tag it ... testing! */ + make_amorph(segment); + + return 23; +} + +int main(int argc,char **argv) +{ + u32 x_seg,y_seg,z_seg; /* amount of segments */ + u32 x,y,z; /* segments */ + int i; /* for counting */ + int slope_nel,start_nel; /* nuclear energy loss: slope, constant */ + int steps; /* # steps */ + void *segments_p; + + /* default values */ + x_seg=DEFAULT_X_SEG; + y_seg=DEFAULT_Y_SEG; + z_seg=DEFAULT_Z_SEG; + slope_nel=DEFAULT_SLOPE_NEL; + start_nel=DEFAULT_START_NEL; + steps=DEFAULT_STEPS; + + /* parse command args */ + for(i=1;i %d\n",sum_z_segments); + + + /* testing ... */ + + /* allocate segments */ + if((segments_p=malloc(x_seg*y_seg*z_seg*sizeof(u32)))==NULL) + { + puts("failed allocating memory for segments\n"); + return -23; + } + memset(segments_p,0,x_seg*y_seg*z_seg*sizeof(u32)); + + /* main routine */ + for(i=0;i