Prev | Next | atomic_four_ctor |
class atomic_user : public CppAD::atomic_four<Base> {
public:
atomic_user(ctor_arg_list) : CppAD::atomic_four<Base>(name)
...
};
atomic_user afun(ctor_arg_list)
template <class Base> atomic_four<Base>::atomic_four(const std::string& name )
atomic_user
constructor.
afun
must stay in scope for as long
as the corresponding atomic function is used.
This includes use by any ADFun<Base>
object that
has this
atomic_user
operation in its
operation sequence
.
atomic_user
class is a publicly derived class of
atomic_four<Base>
.
It should be declared as follows:
class atomic_user : public CppAD::atomic_four<Base> {
public:
atomic_user(ctor_arg_list) : atomic_four<Base>(name)
...
};
where
...
denotes the rest of the implementation of the derived class.
This includes completing the constructor and
all the virtual functions that have their
atomic_four
implementations replaced by
atomic_user
implementations.
atomic_four
constructor and destructor cannot be called in
parallel
mode.
AD<Base>
atomic operation.
atomic_four
constructor argument has the following prototype
const std::string& name
It is the name for this atomic function and is used for error reporting.
The suggested value for
name
is
afun
or
atomic_user
,
i.e., the name of the corresponding atomic object or class.
class atomic_norm_sq : public CppAD::atomic_four<double> { public: atomic_norm_sq(const std::string& name) : CppAD::atomic_four<double>(name) { }