46 #include <Xyce_config.h>
52 #include <N_UTL_fwd.h>
57 #include <N_UTL_Algorithm.h>
58 #include <N_UTL_OpBuilder.h>
59 #include <N_UTL_Param.h>
66 void parameterNameAndArgs(std::string &name, std::vector<std::string> &args, Util::ParamList::const_iterator &it)
68 const std::string ¶m_tag = (*it).tag();
70 if (param_tag[0] ==
'V' || param_tag[0] ==
'I' || param_tag[0] ==
'N')
72 std::ostringstream oss;
73 oss << param_tag <<
"(";
74 int arg_count = (*it).getImmutableValue<
int>();
75 for (
int i = 0; i < arg_count; ++i)
81 args.push_back((*it).tag());
105 virtual Util::Op::Operator *
makeOp(Util::ParamList::const_iterator &it)
const
107 Util::Op::Operator *new_op = 0;
108 const std::string ¶m_tag = (*it).tag();
109 const std::string ¶m_string = (*it).stringValue();
111 if (param_tag ==
"GLOBAL_PARAMETER") {
119 new_op->addArg(param_string);
153 virtual Util::Op::Operator *
makeOp(Util::ParamList::const_iterator &it)
const {
154 Util::Op::Operator *new_op = 0;
155 const std::string ¶m_tag = (*it).tag();
156 const std::string ¶m_string = (*it).stringValue();
159 if ((*it).getType() == Util::INT)
160 arg_count = (*it).getImmutableValue<
int>();
161 if (arg_count == 0) {
165 std::string param_name = Util::paramNameFromFullParamName(param_tag);
166 if (param_name.empty() || device_entity->
findParam(param_name))
195 virtual Util::Op::Operator *
makeOp(Util::ParamList::const_iterator &it)
const {
196 Util::Op::Operator *new_op = 0;
197 const std::string ¶m_tag = (*it).tag();
198 const std::string ¶m_string = (*it).stringValue();
200 const ArtificialParameterMap::const_iterator artificial_parameter_it =
artificialParameterMap_.find(param_tag);
203 std::string param_name = Util::paramNameFromFullParamName(param_tag);
257 virtual Util::Op::Operator *
makeOp(Util::ParamList::const_iterator &it)
const {
258 Util::Op::Operator *new_op = 0;
259 const std::string ¶m_tag = (*it).tag();
260 const std::string ¶m_string = (*it).stringValue();
262 if (compare_nocase(param_tag.c_str(),
"gmin") == 0)
virtual Util::Op::Operator * makeOp(Util::ParamList::const_iterator &it) const
const PassthroughParameterSet & passthroughParameterSet_
DeviceEntity * getDeviceEntity(const std::string &full_param_name) const
Pure virtual class to augment a linear system.
const DeviceMgr & deviceManager_
const DeviceMgr & deviceManager_
DeviceOptionsOpBuilder(const DeviceOptions &device_options)
virtual void registerCreateFunctions(Util::Op::BuilderManager &builder_manager) const
virtual ~ArtificialParameterOpBuilder()
const ArtificialParameterMap & getArtificialParameterMap() const
void registerOpBuilders(Util::Op::BuilderManager &builder_manager, Parallel::Machine comm, DeviceMgr &device_manager)
virtual ~DeviceOptionsOpBuilder()
virtual Util::Op::Operator * makeOp(Util::ParamList::const_iterator &it) const
bool findParam(const std::string ¶m_name) const
virtual Util::Op::Operator * makeOp(Util::ParamList::const_iterator &it) const
DeviceGlobalParameterOpBuilder(const DeviceMgr &device_manager)
unordered_set< std::string, HashNoCase, EqualNoCase > PassthroughParameterSet
virtual void registerCreateFunctions(Util::Op::BuilderManager &builder_manager) const
const DeviceMgr & deviceManager_
const ArtificialParameterMap & artificialParameterMap_
const DeviceOptions & getDeviceOptions() const
const DeviceOptions & deviceOptions_
const double * findGlobalPar(const std::string &name) const
const PassthroughParameterSet & getPassthroughParameterSet() const
DeviceEntityOpBuilder(const DeviceMgr &device_manager)
ArtificialParameterOpBuilder(const DeviceMgr &device_manager, const ArtificialParameterMap &artificial_parameter_map, const PassthroughParameterSet &passthrough_parameter_set)
virtual ~DeviceEntityOpBuilder()
unordered_map< std::string, ArtificialParameters::ArtificialParameter *, HashNoCase, EqualNoCase > ArtificialParameterMap
virtual void registerCreateFunctions(Util::Op::BuilderManager &builder_manager) const
virtual Util::Op::Operator * makeOp(Util::ParamList::const_iterator &it) const
virtual void registerCreateFunctions(Util::Op::BuilderManager &builder_manager) const
virtual ~DeviceGlobalParameterOpBuilder()