File: specificitybase.cc

package info (click to toggle)
simrisc 16.05.00-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 4,568 kB
  • sloc: cpp: 6,877; fortran: 665; makefile: 112; ansic: 112; sh: 107
file content (41 lines) | stat: -rw-r--r-- 965 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#define XERR
#include "modbase.ih"

//  #             ageGroup
//  specificity:  0 - 40:  .961     40 - *: .965

void ModBase::specificityBase(AgeGroupVSDvect &dest)
{
    d_base.back() = "specificity:";

    auto lines = Parser::one(d_base);

    if (lines.size() != 1)                      // keywords not found
        return;

    istringstream in{ lines.get()->tail };      // prepare for extraction

    bool nextRange = false;

    while (true)
    {
        AgeGroupVSD spec{ VARY_PROB, false };   // agegroupvsd w/o sd.

        if (not (in >> spec))                   // try to extract
            break;                              // no (more)

        nextRange = spec.group().nextRange(dest);
//FBB           spec.ageGroup().nextRange(dest))

        if (not nextRange)
            break;

        dest.push_back(move(spec));

        if (spec.group().end() == END_AGE)
            return;
    }

   if (not nextRange)
       Err::specification();
}