#ifndef CbSv0r4ZjDkLZr4WCEmSXjjwPA0 #define CbSv0r4ZjDkLZr4WCEmSXjjwPA0 #include #include #include #include "template_helpers.hpp" #include "time.hpp" #include "quant_types.hpp" #include "model.hpp" // for Weight namespace PLA_Init_Default_Impl { template struct Action { template void operator() (Data &data) {} }; template struct Action { template void operator() (Data &data) { if (boost::is_same::value || boost::is_same::value || boost::is_same::value) return; // do not set weight .. it is done in convert_topology for (uint64_t i{0}; i < Prop::quant::instance_ptr_t::numInstances(); i++) { data.data.set(0, i, Prop::initialValue); } } }; // init default action struct PLA_Init_Default { // action types & consts typedef Void result_t; template struct local_state_t { typedef ContextProp prop; static const bool write = doWriteResults; }; // action state result_t result; // action methods template inline void pre(_PropComp &pc, ContextData &data, LocalState &state) { Action()(data); } template inline void post(_PropComp &pc, _Data &data, _LocalState &state) { } }; } // ns using PLA_Init_Default_Impl::PLA_Init_Default; #endif // CbSv0r4ZjDkLZr4WCEmSXjjwPA0