Trisurf Monte Carlo simulator
Samo Penic
2014-06-13 324ad7bb72e435d61bc25d076d9253d769903d33
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#include<general.h>
#include<stdlib.h>
 
 
ts_coord_list *init_coord_list(){
    ts_coord_list *coordlist=(ts_coord_list *)calloc(1,sizeof(ts_coord_list));
    if(coordlist==NULL){
        fatal("Cannot allocate memory for coordlist",999);
    }
    return coordlist;
}
 
ts_bool add_coord(ts_coord_list *coordlist, ts_double e1, ts_double e2, ts_double e3, ts_uint coord_type){
 
    coordlist->coord=(ts_coord **)realloc(coordlist->coord,(coordlist->n+1)*sizeof(ts_coord *));
 
    if(coordlist->coord==NULL){
        fatal("Cannot allocate memory for coord in coordlist",998);
    }
 
 
    coordlist->coord[coordlist->n]=(ts_coord *)calloc(1, sizeof(ts_coord));
    
    coordlist->coord[coordlist->n]->e1=e1;
    coordlist->coord[coordlist->n]->e2=e2;
    coordlist->coord[coordlist->n]->e3=e3;
    coordlist->coord[coordlist->n]->coord_type=coord_type;
    coordlist->n++;
    return TS_SUCCESS;    
}
 
ts_bool coord_list_free(ts_coord_list *coordlist){
    ts_uint i;
    if(coordlist==NULL) return TS_SUCCESS;
    for(i=0; i<coordlist->n;i++){
        if(coordlist->coord[i]!=NULL) free(coordlist->coord[i]);
    }
    free(coordlist->coord);
    free(coordlist);
    return TS_SUCCESS;    
 
 
}