1 /* init.c */
2
3 #include "../BKL.h"
4
5 /*--------------------------------------------------------------------*/
6 /*
7 -----------------------
8 initialize the object
9
10 created -- 95oct07, cca
11 -----------------------
12 */
13 void
BKL_init(BKL * bkl,BPG * bpg,float alpha)14 BKL_init (
15 BKL *bkl,
16 BPG *bpg,
17 float alpha
18 ) {
19 /*
20 ---------------
21 check the input
22 ---------------
23 */
24 if ( bkl == NULL || bpg == NULL ) {
25 fprintf(stderr, "\n fatal error in BKL_init(%p,%p,%f)"
26 "\n bad input\n", bkl, bpg, alpha) ;
27 exit(-1) ;
28 }
29 /*
30 --------------
31 clear the data
32 --------------
33 */
34 BKL_clearData(bkl) ;
35 /*
36 ---------------------
37 initialize the fields
38 ---------------------
39 */
40 bkl->bpg = bpg ;
41 bkl->ndom = bpg->nX ;
42 bkl->nseg = bpg->nY ;
43 bkl->nreg = bpg->nX + bpg->nY ;
44 if ( bpg->graph->vwghts == NULL ) {
45 bkl->totweight = bkl->nreg ;
46 bkl->regwghts = IVinit(bkl->nreg, 1) ;
47 } else {
48 bkl->regwghts = bpg->graph->vwghts ;
49 bkl->totweight = IVsum(bkl->nreg, bkl->regwghts) ;
50 }
51 bkl->colors = IVinit(bkl->nreg, 0) ;
52 bkl->alpha = alpha ;
53
54 return ; }
55
56 /*--------------------------------------------------------------------*/
57