1 #include "benchmark/benchmark.h"
2 #include "test_macros.h"
6 TEST_NOINLINE
double istream_numbers();
8 double istream_numbers() {
9 const char* a
[] = {"-6 69 -71 2.4882e-02 -100 101 -2.00005 5000000 -50000000",
10 "-25 71 7 -9.3262e+01 -100 101 -2.00005 5000000 -50000000",
11 "-14 53 46 -6.7026e-02 -100 101 -2.00005 5000000 -50000000"};
13 int a1
, a2
, a3
, a4
, a5
, a6
, a7
;
14 double f1
= 0.0, f2
= 0.0, q
= 0.0;
15 for (int i
= 0; i
< 3; i
++) {
16 std::istringstream
s(a
[i
]);
17 s
>> a1
>> a2
>> a3
>> f1
>> a4
>> a5
>> f2
>> a6
>> a7
;
18 q
+= (a1
+ a2
+ a3
+ a4
+ a5
+ a6
+ a7
+ f1
+ f2
) / 1000000;
23 static void BM_Istream_numbers(benchmark::State
& state
) {
25 while (state
.KeepRunning())
26 benchmark::DoNotOptimize(i
+= istream_numbers());
29 BENCHMARK(BM_Istream_numbers
)->RangeMultiplier(2)->Range(1024, 4096);