STORMM Source Documentation
Loading...
Searching...
No Matches
polynumeric.h
1// -*-c++-*-
2#ifndef STORMM_POLYNUMERIC_H
3#define STORMM_POLYNUMERIC_H
4
5#include <vector>
6#include "copyright.h"
7#include "DataTypes/common_types.h"
8#include "DataTypes/stormm_vector_types.h"
9#include "Reporting/error_format.h"
10#include "parsing_enumerators.h"
11
12namespace stormm {
13namespace parse {
14
15using data_types::getStormmHpcVectorTypeName;
16using data_types::isFloatingPointScalarType;
17using data_types::isHpcVectorType;
18using data_types::isScalarType;
19using data_types::isSignedIntegralScalarType;
20using data_types::isUnsignedIntegralScalarType;
21
24 double d;
25 float f;
26 float2 f2;
27 int i;
28 unsigned int ui;
29 long long int lli;
30 unsigned long long int ulli;
31 char4 c4;
32};
33
37std::vector<double> doubleFromPolyNumeric(const std::vector<PolyNumeric> &values);
38
42std::vector<int> intFromPolyNumeric(const std::vector<PolyNumeric> &values);
43
47std::vector<llint> llintFromPolyNumeric(const std::vector<PolyNumeric> &values);
48
52std::vector<uint> uintFromPolyNumeric(const std::vector<PolyNumeric> &values);
53
57std::vector<ullint> ullintFromPolyNumeric(const std::vector<PolyNumeric> &values);
58
62std::vector<char4> char4FromPolyNumeric(const std::vector<PolyNumeric> &values);
63
69std::vector<PolyNumeric> polyNumericVector(const std::vector<char4> &values);
70
75std::string nameNumericalType(NumberFormat cform);
76
81std::string nameNumberFormat(NumberFormat cform);
82
86template <typename T> std::vector<PolyNumeric> polyNumericVector(const std::vector<T> &values);
87
96PolyNumeric extractFormattedNumber(const char* a, NumberFormat cform, int read_begin = 0,
97 int len = 0);
98
99} // namespace parse
100} // namespace stormm
101
102#include "polynumeric.tpp"
103
104#endif
Definition stormm_vector_types.h:141
Definition stormm_vector_types.h:58
Union for storing numbers or other 4-8 byte pieces of information.
Definition polynumeric.h:23