1#ifndef _BBM_OPTIMIZER_H_
2#define _BBM_OPTIMIZER_H_
26 template<
typename OPT>
requires concepts::optimization_algorithm<OPT>
46 virtual Value
step(
void)
override final
54 virtual void reset(
void)
override final
64 return OPT::is_converged();
All BBM methods are defined to operate on a variety of value types and spectrum types....
OPTIMIZER implementation of a optimization algorithm.
Definition: optimizer.h:28
virtual Value step(void) override final
Virtual passthrough of the 'step' method.
Definition: optimizer.h:46
virtual void reset(void) override final
Virtual passthrough of the 'reset' method.
Definition: optimizer.h:54
optimizer(const OPT &opt)
Directly construct from a OPTimization algorithm.
Definition: optimizer.h:36
virtual Mask is_converged(void) override final
Virtual passthrough of the 'is_converged' method.
Definition: optimizer.h:62
Optimizer contract: virtual interface wrapper around optimization_algorithms.
#define BBM_CHECK_CONCEPT(CONCEPTNAME, CLASSNAME,...)
Check a class for a concept with bbm::concepts::archetypes in the namespace.
Definition: macro.h:35
Definition: aggregatebsdf.h:29
Abstract optimizer base class.
Definition: optimizer_base.h:23