void read_dr_catalogs(Catalog *cat_d,Catalog *cat_r, np_t *sum_wd,np_t *sum_wd2, np_t *sum_wr,np_t *sum_wr2) { ////// // Reads or creates random and data catalogs Catalog cat_dat,cat_ran; cat_dat=read_catalog(fnameData,sum_wd,sum_wd2); if(gen_ran) { read_mask(); if(corr_type!=1) read_red_dist(); timer(0); cat_ran=mk_random_cat(fact_n_rand*cat_dat.np); timer(1); end_mask(); *sum_wr=(np_t)(fact_n_rand*cat_dat.np); *sum_wr2=(np_t)(fact_n_rand*cat_dat.np); } else cat_ran=read_catalog(fnameRandom,sum_wr,sum_wr2); #ifdef _DEBUG write_Catalog(cat_dat,"debug_DatCat.dat"); write_Catalog(cat_ran,"debug_RanCat.dat"); #endif //_DEBUG *cat_d=cat_dat; *cat_r=cat_ran; }
void read_dr_catalogs(Catalog_f *cat_d,Catalog_f *cat_r) { ////// // Reads or creates random and data catalogs int n_dat,n_ran; Catalog_f cat_dat,cat_ran; cat_dat=read_catalog_f(fnameData,&n_dat); if(gen_ran) { read_mask(); if(corr_type!=1) read_red_dist(); timer(0); cat_ran=mk_random_cat_f(fact_n_rand*cat_dat.np); timer(1); end_mask(); } else cat_ran=read_catalog_f(fnameRandom,&n_ran); #ifdef _DEBUG write_Catalog_f(cat_dat,"debug_DatCat.dat"); write_Catalog_f(cat_ran,"debug_RanCat.dat"); #endif //_DEBUG *cat_d=cat_dat; *cat_r=cat_ran; }
unsigned *set_complement(unsigned *set,int n) { int sz = set_size(n); unsigned m = end_mask(n); int i; for(i=0 ; i<sz ; i++) set[i] = ~set[i]; set[sz-1] &= m; return set; }
unsigned *set_union(unsigned *set,unsigned *set2,int n,int n2) { int sz = set_size(n); int sz2 = set_size(n2); int min_sz = MIN(sz,sz2); unsigned m = end_mask(n); int i; for(i=0 ; i<min_sz ; i++) set[i] |= set2[i]; set[sz-1] &= m; return set; }
unsigned *set_copy(unsigned *set,unsigned *target,int n,int n2) { int sz = set_size(n); int sz2 = set_size(n2); int min_sz = MIN(sz,sz2); unsigned m2 = end_mask(n2); int i; for( i = 0; i < min_sz; i++ ) target[i] = set[i]; for( /* i=min_sz, like it does already */; i < sz2; ++i ); target[i] = 0; target[sz2-1] &= m2; return target; }