xref: /third_party/lzma/CPP/7zip/UI/Console/BenchCon.cpp (revision 370b324c)
  • Home
  • History
  • Annotate
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
  • only in /third_party/lzma/CPP/7zip/UI/Console/
1// BenchCon.cpp
2
3#include "StdAfx.h"
4
5#include "../Common/Bench.h"
6
7#include "BenchCon.h"
8#include "ConsoleClose.h"
9
10struct CPrintBenchCallback Z7_final: public IBenchPrintCallback
11{
12  FILE *_file;
13
14  void Print(const char *s) Z7_override;
15  void NewLine() Z7_override;
16  HRESULT CheckBreak() Z7_override;
17};
18
19void CPrintBenchCallback::Print(const char *s)
20{
21  fputs(s, _file);
22}
23
24void CPrintBenchCallback::NewLine()
25{
26  fputc('\n', _file);
27}
28
29HRESULT CPrintBenchCallback::CheckBreak()
30{
31  return NConsoleClose::TestBreakSignal() ? E_ABORT: S_OK;
32}
33
34HRESULT BenchCon(DECL_EXTERNAL_CODECS_LOC_VARS
35    const CObjectVector<CProperty> &props, UInt32 numIterations, FILE *f)
36{
37  CPrintBenchCallback callback;
38  callback._file = f;
39  return Bench(EXTERNAL_CODECS_LOC_VARS
40      &callback, NULL, props, numIterations, true);
41}
42

Indexes created Thu Nov 07 10:32:03 CST 2024