Automatic Differentiation
 
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).