File: underflow.cc

package info (click to toggle)
bobcat 1.18.1-1
  • links: PTS
  • area: main
  • in suites: lenny
  • size: 3,920 kB
  • ctags: 575
  • sloc: makefile: 12,973; cpp: 6,284; perl: 401; ansic: 68; sh: 52
file content (23 lines) | stat: -rw-r--r-- 435 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
#include "randbuffer.ih"

int Randbuffer::underflow()
{
    if (gptr() < egptr())
        return *gptr();

    ostringstream ostr;

    ostr << d_min + 
            static_cast<int>((d_max - d_min) * rand() / (RAND_MAX + 1.0)) << 
            " ";        

    size_t n = ostr.str().length();

    char *cp = new char[n];
    d_buffer.reset(cp);

    ostr.str().copy(cp, string::npos);
    setg(cp, cp, cp + n);

    return *gptr();
}