46 #include <Xyce_config.h>
52 #include <N_UTL_fwd.h>
56 #include <N_UTL_Algorithm.h>
57 #include <N_UTL_OpBuilder.h>
58 #include <N_UTL_Param.h>
65 void parameterNameAndArgs(std::string &name, std::vector<std::string> &args, Util::ParamList::const_iterator &it)
67 const std::string ¶m_tag = (*it).tag();
69 if (param_tag[0] ==
'V' || param_tag[0] ==
'I' || param_tag[0] ==
'N')
71 std::ostringstream oss;
72 oss << param_tag <<
"(";
73 int arg_count = (*it).getImmutableValue<
int>();
74 for (
int i = 0; i < arg_count; ++i)
80 args.push_back((*it).tag());
104 virtual Util::Op::Operator *
makeOp(Util::ParamList::const_iterator &it)
const
106 Util::Op::Operator *new_op = 0;
107 const std::string ¶m_tag = (*it).tag();
108 const std::string ¶m_string = (*it).stringValue();
110 if (param_tag ==
"GLOBAL_PARAMETER") {
112 new_op->addArg(param_string);
145 virtual Util::Op::Operator *
makeOp(Util::ParamList::const_iterator &it)
const {
146 Util::Op::Operator *new_op = 0;
147 const std::string ¶m_tag = (*it).tag();
148 const std::string ¶m_string = (*it).stringValue();
153 std::string param_name = Util::paramNameFromFullParamName(param_tag);
174 virtual Util::Op::Operator *
makeOp(Util::ParamList::const_iterator &it)
const {
175 Util::Op::Operator *new_op = 0;
176 const std::string ¶m_tag = (*it).tag();
177 const std::string ¶m_string = (*it).stringValue();
205 virtual Util::Op::Operator *
makeOp(Util::ParamList::const_iterator &it)
const {
206 Util::Op::Operator *new_op = 0;
207 const std::string ¶m_tag = (*it).tag();
208 const std::string ¶m_string = (*it).stringValue();
210 if (compare_nocase(param_tag.c_str(),
"gmin") == 0)
const double * findGlobalPar(const std::string &parName) const
virtual Util::Op::Operator * makeOp(Util::ParamList::const_iterator &it) const
DeviceEntity * getDeviceEntity(const std::string &full_param_name) const
Pure virtual class to augment a linear system.
const DeviceMgr & deviceManager_
DeviceOptionsOpBuilder(const DeviceOptions &device_options)
virtual Util::Op::Operator * makeOp(Util::ParamList::const_iterator &it) const
bool findParam(const std::string &name) const
void registerOpBuilders(Util::Op::BuilderManager &builder_manager, Parallel::Machine comm, DeviceMgr &device_manager)
virtual ~DeviceOptionsOpBuilder()
const DeviceMgr & deviceManager_
virtual ~DeviceMgrOpBuilder()
virtual Util::Op::Operator * makeOp(Util::ParamList::const_iterator &it) const
virtual Util::Op::Operator * makeOp(Util::ParamList::const_iterator &it) const
DeviceMgrOpBuilder(const DeviceMgr &device_manager)
DeviceGlobalParameterOpBuilder(const DeviceMgr &device_manager)
virtual void registerCreateFunctions(Util::Op::BuilderManager &builder_manager) const
const DeviceMgr & deviceManager_
const DeviceOptions & getDeviceOptions() const
const DeviceOptions & deviceOptions_
DeviceEntityOpBuilder(const DeviceMgr &device_manager)
virtual ~DeviceEntityOpBuilder()
virtual void registerCreateFunctions(Util::Op::BuilderManager &builder_manager) const
virtual void registerCreateFunctions(Util::Op::BuilderManager &builder_manager) const
virtual ~DeviceGlobalParameterOpBuilder()