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