Loading [MathJax]/extensions/TeX/AMSsymbols.js
Automatic Differentiation
 
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
Loading...
Searching...
No Matches
fma.hpp File Reference

Go to the source code of this file.

Namespaces

namespace  stan
 The lgamma implementation in stan-math is based on either the reentrant safe lgamma_r implementation from C or the boost::math::lgamma implementation.
 
namespace  stan::math
 Matrices and templated mathematical functions.
 
namespace  stan::math::internal
 A comparator that works for any container type that has the brackets operator.
 

Functions

var stan::math::fma (const var &x, const var &y, const var &z)
 The fused multiply-add function for three variables (C99).
 
template<typename Tc , require_arithmetic_t< Tc > * = nullptr>
var stan::math::fma (const var &x, const var &y, Tc &&z)
 The fused multiply-add function for two variables and a value (C99).
 
template<typename Tb , require_arithmetic_t< Tb > * = nullptr>
var stan::math::fma (const var &x, Tb &&y, const var &z)
 The fused multiply-add function for a variable, value, and variable (C99).
 
template<typename Tb , typename Tc , require_all_arithmetic_t< Tb, Tc > * = nullptr>
var stan::math::fma (const var &x, Tb &&y, Tc &&z)
 The fused multiply-add function for a variable and two values (C99).
 
template<typename Ta , typename Tc , require_all_arithmetic_t< Ta, Tc > * = nullptr>
var stan::math::fma (Ta &&x, const var &y, Tc &&z)
 The fused multiply-add function for a value, variable, and value (C99).
 
template<typename Ta , typename Tb , require_all_arithmetic_t< Ta, Tb > * = nullptr>
var stan::math::fma (Ta &&x, Tb &&y, const var &z)
 The fused multiply-add function for two values and a variable, and value (C99).
 
template<typename Ta , require_arithmetic_t< Ta > * = nullptr>
var stan::math::fma (Ta &&x, const var &y, const var &z)
 The fused multiply-add function for a value and two variables (C99).
 
template<typename T1 , typename T2 , typename T3 , typename T4 , require_all_matrix_t< T1, T2, T3 > * = nullptr>
auto stan::math::internal::fma_reverse_pass (T1 &arena_x, T2 &arena_y, T3 &arena_z, T4 &ret)
 Overload for matrix, matrix, matrix.
 
template<typename T1 , typename T2 , typename T3 , typename T4 , require_all_matrix_t< T2, T3 > * = nullptr, require_stan_scalar_t< T1 > * = nullptr>
auto stan::math::internal::fma_reverse_pass (T1 &arena_x, T2 &arena_y, T3 &arena_z, T4 &ret)
 Overload for scalar, matrix, matrix.
 
template<typename T1 , typename T2 , typename T3 , require_any_matrix_t< T1, T2, T3 > * = nullptr, require_var_t< return_type_t< T1, T2, T3 > > * = nullptr>
auto stan::math::fma (const T1 &x, const T2 &y, const T3 &z)
 The fused multiply-add function for three variables (C99).