Directory: | ./ |
---|---|
File: | tmp_project/PhoenixTex2Html/src/PLatexObj/platexobj_updateNumber.cpp |
Date: | 2025-03-24 18:12:43 |
Exec | Total | Coverage | |
---|---|---|---|
Lines: | 29 | 29 | 100.0% |
Branches: | 37 | 38 | 97.4% |
Line | Branch | Exec | Source |
---|---|---|---|
1 | /*************************************** | ||
2 | Auteur : Pierre Aubert | ||
3 | Mail : pierre.aubert@lapp.in2p3.fr | ||
4 | Licence : CeCILL-C | ||
5 | ****************************************/ | ||
6 | |||
7 | |||
8 | #include "platexobj_updateNumber.h" | ||
9 | |||
10 | ///Update the vecNumber and return the proper vector | ||
11 | /** @param[out] vecNumber : vector to be updated | ||
12 | * @param numberIndex : index of the number to deal with | ||
13 | * @return proper vector of number for the current section | ||
14 | */ | ||
15 | 462 | PVecNumber copyAddVecNumber(PVecNumber & vecNumber, long unsigned int numberIndex){ | |
16 | 462 | long unsigned int nbNumber(vecNumber.size()), nbExpectedNumber(numberIndex + 1lu); | |
17 |
2/2✓ Branch 0 taken 113 times.
✓ Branch 1 taken 349 times.
|
462 | if(nbExpectedNumber > nbNumber){ |
18 |
2/2✓ Branch 0 taken 117 times.
✓ Branch 1 taken 113 times.
|
230 | for(long unsigned int i(nbNumber); i < nbExpectedNumber; ++i){ |
19 |
1/1✓ Branch 1 taken 117 times.
|
117 | vecNumber.push_back(1lu); |
20 | } | ||
21 |
2/2✓ Branch 0 taken 80 times.
✓ Branch 1 taken 269 times.
|
349 | }else if(nbExpectedNumber < nbNumber){ |
22 |
2/2✓ Branch 0 taken 100 times.
✓ Branch 1 taken 80 times.
|
180 | for(long unsigned int i(nbExpectedNumber); i < nbNumber; ++i){ |
23 | 100 | vecNumber.pop_back(); | |
24 | } | ||
25 | 80 | vecNumber[numberIndex] += 1lu; | |
26 | }else{ | ||
27 | 269 | vecNumber[numberIndex] += 1lu; | |
28 | } | ||
29 | 462 | PVecNumber copy(vecNumber); | |
30 | 462 | return copy; | |
31 | } | ||
32 | |||
33 | ///Update the vector number of the PLatexObj | ||
34 | /** @param[out] obj : PLatexObj to be updated | ||
35 | * @param[out] vecNumber : vector of the section number | ||
36 | */ | ||
37 | 589 | void platexobj_updateNumber(PLatexObj & obj, PVecNumber & vecNumber){ | |
38 | 589 | PVecLatexObj & vecContent = obj.getVecContent(); | |
39 |
2/2✓ Branch 4 taken 12500 times.
✓ Branch 5 taken 589 times.
|
13089 | for(PVecLatexObj::iterator it(vecContent.begin()); it != vecContent.end(); ++it){ |
40 |
3/3✓ Branch 2 taken 12500 times.
✓ Branch 4 taken 12038 times.
✓ Branch 5 taken 462 times.
|
12500 | if(!isSection(*it)){continue;} |
41 |
1/1✓ Branch 2 taken 462 times.
|
462 | PLatexType::PLatexType type(it->getType()); |
42 |
4/4✓ Branch 0 taken 80 times.
✓ Branch 1 taken 382 times.
✓ Branch 3 taken 80 times.
✓ Branch 7 taken 80 times.
|
462 | if(type == PLatexType::PART){it->getVecSecNumber() = copyAddVecNumber(vecNumber, 0lu);} |
43 |
4/4✓ Branch 0 taken 96 times.
✓ Branch 1 taken 286 times.
✓ Branch 3 taken 96 times.
✓ Branch 7 taken 96 times.
|
382 | else if(type == PLatexType::CHAPTER){it->getVecSecNumber() = copyAddVecNumber(vecNumber, 1lu);} |
44 |
4/4✓ Branch 0 taken 107 times.
✓ Branch 1 taken 179 times.
✓ Branch 3 taken 107 times.
✓ Branch 7 taken 107 times.
|
286 | else if(type == PLatexType::SECTION){it->getVecSecNumber() = copyAddVecNumber(vecNumber, 2lu);} |
45 |
4/4✓ Branch 0 taken 175 times.
✓ Branch 1 taken 4 times.
✓ Branch 3 taken 175 times.
✓ Branch 7 taken 175 times.
|
179 | else if(type == PLatexType::SUBSECTION){it->getVecSecNumber() = copyAddVecNumber(vecNumber, 3lu);} |
46 |
3/4✓ Branch 0 taken 4 times.
✗ Branch 1 not taken.
✓ Branch 3 taken 4 times.
✓ Branch 7 taken 4 times.
|
4 | else if(type == PLatexType::SUBSUBSECTION){it->getVecSecNumber() = copyAddVecNumber(vecNumber, 4lu);} |
47 |
1/1✓ Branch 2 taken 462 times.
|
462 | platexobj_updateNumber(*it, vecNumber); |
48 | } | ||
49 | 589 | } | |
50 | |||
51 | ///Update the vector number of the PLatexObj | ||
52 | /** @param[out] obj : PLatexObj to be updated | ||
53 | */ | ||
54 | 127 | void platexobj_updateNumber(PLatexObj & obj){ | |
55 | 127 | PVecNumber vecNumber; | |
56 |
1/1✓ Branch 1 taken 127 times.
|
127 | vecNumber.push_back(0lu); |
57 |
1/1✓ Branch 1 taken 127 times.
|
127 | platexobj_updateNumber(obj, vecNumber); |
58 | 127 | } | |
59 | |||
60 | |||
61 |