STORMM Source Documentation
Loading...
Searching...
No Matches
multiplication.h
1// -*-c++-*-
2#ifndef STORMM_MULTIPLICATION_H
3#define STORMM_MULTIPLICATION_H
4
5#include "copyright.h"
6#include <vector>
7#include "Accelerator/hybrid.h"
8#include "Constants/symbol_values.h"
9#include "DataTypes/common_types.h"
10#include "Parsing/parse.h"
11#include "Parsing/polynumeric.h"
12#include "Reporting/error_format.h"
13
14namespace stormm {
15namespace stmath {
16
17using card::Hybrid;
18using data_types::getStormmScalarTypeName;
19using data_types::isScalarType;
20using data_types::isSignedIntegralScalarType;
21using data_types::isUnsignedIntegralScalarType;
22using data_types::isFloatingPointScalarType;
23using parse::NumberFormat;
24using parse::realToString;
25
36template <typename T> double logProduct(const T* values, const size_t length);
37template <typename T> double logProduct(const std::vector<T> &values);
38template <typename T> double logProduct(const Hybrid<T> &values);
40
56template <typename Tprod, typename Tbase> Tprod seriesProduct(const Tbase* va,
57 const size_t length);
58template <typename Tprod, typename Tbase> Tprod seriesProduct(const std::vector<Tbase> &va);
59template <typename Tprod, typename Tbase> Tprod seriesProduct(const Hybrid<Tbase> &va);
61
62} // namespace stmath
63} // namespace stormm
64
65#include "multiplication.tpp"
66
67#endif
An evolution of GpuBuffer in pmemd.cuda, the Composite array has elements that are accessible from ei...
Definition hybrid.h:202