File: test.hh

package info (click to toggle)
testsweeper 2024.05.31-1
  • links: PTS, VCS
  • area: main
  • in suites: trixie
  • size: 500 kB
  • sloc: cpp: 2,091; python: 1,290; makefile: 5
file content (68 lines) | stat: -rw-r--r-- 2,240 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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
// Copyright (c) 2017-2023, University of Tennessee. All rights reserved.
// SPDX-License-Identifier: BSD-3-Clause
// This program is free software: you can redistribute it and/or modify it under
// the terms of the BSD 3-Clause license. See the accompanying LICENSE file.

#ifndef TEST_HH
#define TEST_HH

#include "testsweeper.hh"

//------------------------------------------------------------------------------
class Params: public testsweeper::ParamsBase {
public:
    const double inf = std::numeric_limits<double>::infinity();
    const double nan = std::numeric_limits<double>::quiet_NaN();

    Params();

    // Field members are explicitly public.
    // Order here determines output order.
    //----- test framework parameters
    testsweeper::ParamChar   check;
    testsweeper::ParamChar   ref;
    testsweeper::ParamDouble tol;
    testsweeper::ParamInt    repeat;
    testsweeper::ParamInt    verbose;
    testsweeper::ParamInt    cache;

    //----- routine parameters, enums
    #ifdef DEPRECATED
    testsweeper::ParamEnum< testsweeper::DataType > datatype_old;
    testsweeper::ParamEnum< testsweeper::DataType > datatype_old2;
    #endif
    testsweeper::ParamEnum< testsweeper::DataType > datatype;

    //----- routine parameters, numeric
    testsweeper::ParamInt3    dim;
    testsweeper::ParamInt     nb;
    testsweeper::ParamComplex alpha;
    testsweeper::ParamDouble  beta;
    testsweeper::ParamInt3    grid;

    //----- output parameters
    testsweeper::ParamScientific error;
    testsweeper::ParamScientific ortho;
    testsweeper::ParamDouble     time;
    testsweeper::ParamDouble     gflops;

    testsweeper::ParamDouble     ref_time;
    testsweeper::ParamDouble     ref_gflops;

    testsweeper::ParamOkay       okay;
    testsweeper::ParamString     msg;
};

//------------------------------------------------------------------------------
// Level 1
void test_sort( Params& params, bool run );

//------------------------------------------------------------------------------
// Level 2
void test_bar( Params& params, bool run );

//------------------------------------------------------------------------------
// Level 3
void test_baz( Params& params, bool run );

#endif  //  #ifndef TEST_HH