/usr/include/cppad/local/unary_plus.hpp is in cppad 2016.00.00.1-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 | // $Id: unary_plus.hpp 3757 2015-11-30 12:03:07Z bradbell $
# ifndef CPPAD_UNARY_PLUS_HPP
# define CPPAD_UNARY_PLUS_HPP
/* --------------------------------------------------------------------------
CppAD: C++ Algorithmic Differentiation: Copyright (C) 2003-15 Bradley M. Bell
CppAD is distributed under multiple licenses. This distribution is under
the terms of the
GNU General Public License Version 3.
A copy of this license is included in the COPYING file of this distribution.
Please visit http://www.coin-or.org/CppAD/ for information on other licenses.
-------------------------------------------------------------------------- */
/*
$begin UnaryPlus$$
$spell
Vec
const
inline
$$
$section AD Unary Plus Operator$$
$mindex +$$
$head Syntax$$
$icode%y% = + %x%$$
$head Purpose$$
Performs the unary plus operation
(the result $icode y$$ is equal to the operand $icode x$$).
$head x$$
The operand $icode x$$ has one of the following prototypes
$codei%
const AD<%Base%> &%x%
const VecAD<%Base%>::reference &%x%
%$$
$head y$$
The result $icode y$$ has type
$codei%
AD<%Base%> %y%
%$$
It is equal to the operand $icode x$$.
$head Operation Sequence$$
This is an AD of $icode Base$$
$cref/atomic operation/glossary/Operation/Atomic/$$
and hence is part of the current
AD of $icode Base$$
$cref/operation sequence/glossary/Operation/Sequence/$$.
$head Derivative$$
If $latex f$$ is a
$cref/Base function/glossary/Base Function/$$,
$latex \[
\D{[ + f(x) ]}{x} = \D{f(x)}{x}
\] $$
$head Example$$
$children%
example/unary_plus.cpp
%$$
The file
$cref unary_plus.cpp$$
contains an example and test of this operation.
$end
-------------------------------------------------------------------------------
*/
// BEGIN CppAD namespace
namespace CppAD {
template <class Base>
inline AD<Base> AD<Base>::operator + (void) const
{ AD<Base> result(*this);
return result;
}
template <class Base>
inline AD<Base> operator + (const VecAD_reference<Base> &right)
{ return right.ADBase(); }
}
// END CppAD namespace
# endif
|