32#ifndef SACADO_FAD_LAPACK_HPP
33#define SACADO_FAD_LAPACK_HPP
35#include "Teuchos_LAPACK.hpp"
44 template <
typename OrdinalType,
typename FadType>
92 template <
typename OrdinalType,
typename FadType>
95 typedef typename Teuchos::ScalarTraits<FadType>::magnitudeType
MagnitudeType;
107 bool use_dynamic =
true,
129 Teuchos::LAPACK<OrdinalType, ValueType>
lapack;
147 template <
typename OrdinalType,
typename ScalarType>
148 class LAPACK< OrdinalType,
Sacado::Fad::DFad<ScalarType> > :
void free_array(const ValueType *ptr, OrdinalType size) const
OrdinalType workspace_size
Size of static workspace.
Sacado::ValueType< FadType >::type ValueType
Sacado::dummy< ValueType, scalar_type >::type ScalarType
ValueType * workspace
Workspace for holding contiguous values/derivatives.
bool use_dynamic
Use dynamic memory allocation.
ArrayTraits(const ArrayTraits &a)
Sacado::ScalarType< FadType >::type scalar_type
ValueType * workspace_pointer
Pointer to current free entry in workspace.
bool is_array_contiguous(const FadType *a, OrdinalType n, OrdinalType n_dot) const
ValueType * allocate_array(OrdinalType size) const
ArrayTraits(bool use_dynamic=true, OrdinalType workspace_size=0)
Fad specializations for Teuchos::BLAS wrappers.
Fad specializations for Teuchos::LAPACK wrappers.
void GESV(const OrdinalType n, const OrdinalType nrhs, FadType *A, const OrdinalType lda, OrdinalType *IPIV, FadType *B, const OrdinalType ldb, OrdinalType *info) const
Computes the solution to a real system of linear equations.
Fad_LAPACK(bool use_default_impl=true, bool use_dynamic=true, OrdinalType static_workspace_size=0)
Default constructor.
void Fad_GESV() const
Implementation of GESV.
Sacado::dummy< ValueType, scalar_type >::type ScalarType
Teuchos::LAPACK< OrdinalType, ValueType > lapack
LAPACK for values.
bool use_default_impl
Use custom or default implementation.
Teuchos::ScalarTraits< FadType >::magnitudeType MagnitudeType
ArrayTraits< OrdinalType, FadType > arrayTraits
ArrayTraits for packing/unpacking value/derivative arrays.
Teuchos::LAPACK< OrdinalType, FadType > LAPACKType
virtual ~Fad_LAPACK()
Destructor.
Sacado::ScalarType< FadType >::type scalar_type
Sacado::ValueType< FadType >::type ValueType