File: BenchCon.cpp

package info (click to toggle)
lzma 24.08%2Bdfsg-2
  • links: PTS, VCS
  • area: main
  • in suites: trixie
  • size: 6,472 kB
  • sloc: cpp: 78,089; ansic: 26,903; asm: 4,195; cs: 3,846; java: 3,077; makefile: 1,010; sh: 74
file content (41 lines) | stat: -rw-r--r-- 862 bytes parent folder | download | duplicates (8)
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
// BenchCon.cpp

#include "StdAfx.h"

#include "../Common/Bench.h"

#include "BenchCon.h"
#include "ConsoleClose.h"

struct CPrintBenchCallback Z7_final: public IBenchPrintCallback
{
  FILE *_file;

  void Print(const char *s) Z7_override;
  void NewLine() Z7_override;
  HRESULT CheckBreak() Z7_override;
};

void CPrintBenchCallback::Print(const char *s)
{
  fputs(s, _file);
}

void CPrintBenchCallback::NewLine()
{
  fputc('\n', _file);
}

HRESULT CPrintBenchCallback::CheckBreak()
{
  return NConsoleClose::TestBreakSignal() ? E_ABORT: S_OK;
}

HRESULT BenchCon(DECL_EXTERNAL_CODECS_LOC_VARS
    const CObjectVector<CProperty> &props, UInt32 numIterations, FILE *f)
{
  CPrintBenchCallback callback;
  callback._file = f;
  return Bench(EXTERNAL_CODECS_LOC_VARS
      &callback, NULL, props, numIterations, true);
}