예제 #1
0
파일: alg1d.c 프로젝트: restrepo/micrOMEGAs
static void lablist(Term t)
{
	if(is_list(t))
	{
		List l;
		for(l=t;l;l=ListTail(l))
		{
			Term m=ListFirst(l);
			if(is_label(m) && !ListMember(labl,m))
				labl=AppendFirst(labl,m);
			else
				lablist(m);
		}
	}
	if(is_compound(t))
	{
		int i;
		for(i=1;i<=CompoundArity(t);i++)
		{
			Term m=CompoundArgN(t,i);
			if(is_label(m) && !ListMember(labl,m))
				labl=AppendFirst(labl,m);
			else
				lablist(m);
		}
	}
}
예제 #2
0
int main(int argc, char *argv[])
{
    // zero size list
    List<scalar> scalist;

    // list with given length
    labelList lablist(10);

    // list with given length and initial value for all elements
    List<vector> veclist(5,vector::one);

    // list created from input script
    fileName fname("./input");
    IFstream is(fname);
    scalarList scalist2(is);

    // size() gets size of list
    for(label i=0;i<scalist2.size();i++)
      Info << "scalist2["<<i<<"] = " << scalist2[i] << endl;

    // sort(list) sorts list elements
    sort(scalist2);
    for(label i=0;i<scalist2.size();i++)
      Info << "scalist2["<<i<<"] = " << scalist2[i] << endl;

    // setSize(newSize) sets new size and keep stored data
    scalist2.setSize(15);
    Info << "scalist2.size() = " << scalist2.size() << endl;

    return 0;
}
예제 #3
0
파일: alg1d.c 프로젝트: restrepo/micrOMEGAs
void renewlab(Term t)
{
	List l;
	labl=0;
	labm=0;
	lablist(t);
	for(l=labl;l;l=ListTail(l))
		labm=AppendFirst(labm,NewLabel());
	chlabs(t);
	if(labl) {FreeAtomic(labl);FreeAtomic(labm);}
}
예제 #4
0
int main(int argc, char *argv[])
{
    fileName fname("./input");
    IFstream is(fname);
    List<label> lablist(is);

    // reference to 5 elements of lablist starting
    // with 0 element
    SubList<label> slablist1(lablist,5);
    Info << "slablist1 = " << slablist1 << endl;

    // reference to 5 elements of lablist starting
    // with 4 element (note that the array starts
    // with 0
    SubList<label> slablist2(lablist,5,3);
    Info << "slablist2 = " << slablist2 << endl;

    return 0;
}