本文整理汇总了C++中ValueType类的典型用法代码示例。如果您正苦于以下问题:C++ ValueType类的具体用法?C++ ValueType怎么用?C++ ValueType使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了ValueType类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: gException
const GurlsOption* GurlsOptionsList::getOpt(std::string key) const
{
if(key.empty())
throw gException(Exception_Parameter_Not_Definied_Yet + "( )");
std::vector<std::string> names;
boost::split(names, key, boost::is_any_of("."));
const GurlsOption* gout = this;
ValueType *tab;
for(std::vector<std::string>::iterator n_it = names.begin(); n_it != names.end(); ++n_it)
{
tab = GurlsOptionsList::dynacast(gout)->table;
std::map<std::string, GurlsOption* >::iterator it = tab->find(*n_it);
if(it == tab->end())
throw gException(Exception_Parameter_Not_Definied_Yet + "( " + *n_it + " )");
gout = it->second;
}
return gout;
}
开发者ID:BRKMYR,项目名称:GURLS,代码行数:25,代码来源:optlist.cpp
示例2: operator
int operator()(const InputType &x, ValueType& fvec) const {
m_decoder.Decode(m_rots, x);
Vector3 v = sik.endPosition(m_rots);
v -= m_goal;
fvec.setZero();
fvec.head<3>() = Eigen::Vector3f::Map(&v.x);
// limit-exceed panelaty
auto limpanl = fvec.tail(x.size());
for (int i = 0; i < x.size(); i++)
{
if (x[i] < m_min[i])
limpanl[i] = m_limitPanalty*(x[i] - m_min[i])*(x[i] - m_min[i]);
else if (x[i] > m_max[i])
limpanl[i] = m_limitPanalty*(x[i] - m_max[i])*(x[i] - m_max[i]);
}
if (m_useRef)
{
limpanl += m_refWeights *(x - m_ref);
}
return 0;
}
开发者ID:flair2005,项目名称:OpenAvataring,代码行数:25,代码来源:StylizedIK+-+Copy.cpp
示例3: valueType
void
SwitchIRBuilder::SetProfiledInstruction(IR::Instr * instr, Js::ProfileId profileId)
{
m_profiledSwitchInstr = instr;
m_switchOptBuildBail = true;
//don't optimize if the switch expression is not an Integer (obtained via dynamic profiling data of the BeginSwitch opcode)
bool hasProfile = m_profiledSwitchInstr->IsProfiledInstr() && m_profiledSwitchInstr->m_func->HasProfileInfo();
if (hasProfile)
{
const ValueType valueType(m_profiledSwitchInstr->m_func->GetReadOnlyProfileInfo()->GetSwitchProfileInfo(profileId));
instr->AsProfiledInstr()->u.FldInfo().valueType = valueType;
m_switchIntDynProfile = valueType.IsLikelyTaggedInt();
m_switchStrDynProfile = valueType.IsLikelyString();
if (PHASE_TESTTRACE1(Js::SwitchOptPhase))
{
char valueTypeStr[VALUE_TYPE_MAX_STRING_SIZE];
valueType.ToString(valueTypeStr);
#if ENABLE_DEBUG_CONFIG_OPTIONS
char16 debugStringBuffer[MAX_FUNCTION_BODY_DEBUG_STRING_SIZE];
#endif
PHASE_PRINT_TESTTRACE1(Js::SwitchOptPhase, _u("Func %s, Switch %d: Expression Type : %S\n"),
m_profiledSwitchInstr->m_func->GetDebugNumberSet(debugStringBuffer),
m_profiledSwitchInstr->AsProfiledInstr()->u.profileId, valueTypeStr);
}
}
}
开发者ID:sankha93,项目名称:ChakraCore,代码行数:30,代码来源:SwitchIRBuilder.cpp
示例4: switch
void Canonicalizer::do_ShiftOp (ShiftOp* x) {
ValueType* t = x->x()->type();
ValueType* t2 = x->y()->type();
if (t->is_constant()) {
switch (t->tag()) {
case intTag : if (t->as_IntConstant()->value() == 0) { set_constant(0); return; } break;
case longTag : if (t->as_LongConstant()->value() == (jlong)0) { set_constant(jlong_cast(0)); return; } break;
default : ShouldNotReachHere();
}
if (t2->is_constant()) {
if (t->tag() == intTag) {
int value = t->as_IntConstant()->value();
int shift = t2->as_IntConstant()->value() & 31;
jint mask = ~(~0 << (32 - shift));
if (shift == 0) mask = ~0;
switch (x->op()) {
case Bytecodes::_ishl: set_constant(value << shift); return;
case Bytecodes::_ishr: set_constant(value >> shift); return;
case Bytecodes::_iushr: set_constant((value >> shift) & mask); return;
}
} else if (t->tag() == longTag) {
jlong value = t->as_LongConstant()->value();
int shift = t2->as_IntConstant()->value() & 63;
jlong mask = ~(~jlong_cast(0) << (64 - shift));
if (shift == 0) mask = ~jlong_cast(0);
switch (x->op()) {
case Bytecodes::_lshl: set_constant(value << shift); return;
case Bytecodes::_lshr: set_constant(value >> shift); return;
case Bytecodes::_lushr: set_constant((value >> shift) & mask); return;
}
}
开发者ID:lizhekang,项目名称:TCJDK,代码行数:31,代码来源:c1_Canonicalizer.cpp
示例5: print_object
void InstructionPrinter::print_object(Value obj) {
ValueType* type = obj->type();
if (type->as_ObjectConstant() != NULL) {
ciObject* value = type->as_ObjectConstant()->value();
if (value->is_null_object()) {
output()->print("null");
} else if (!value->is_loaded()) {
output()->print("<unloaded object %p>",value);
} else if (value->is_method()) {
ciMethod* m = (ciMethod*)value;
output()->print("<method %s.%s>", m->holder()->name()->as_utf8(), m->name()->as_utf8());
} else {
output()->print("<object %p>",value->encoding());
}
} else if (type->as_InstanceConstant() != NULL) {
output()->print("<instance %p>",type->as_InstanceConstant()->value()->encoding());
} else if (type->as_ArrayConstant() != NULL) {
output()->print("<array %p>",type->as_ArrayConstant()->value()->encoding());
} else if (type->as_ClassConstant() != NULL) {
ciInstanceKlass* klass = type->as_ClassConstant()->value();
if (!klass->is_loaded()) {
output()->print("<unloaded> ");
}
output()->print("class ");
print_klass(klass);
} else {
output()->print("???");
}
}
开发者ID:GregBowyer,项目名称:ManagedRuntimeInitiative,代码行数:29,代码来源:c1_InstructionPrinter.cpp
示例6: print_object
void InstructionPrinter::print_object(Value obj) {
ValueType* type = obj->type();
if (type->as_ObjectConstant() != NULL) {
ciObject* value = type->as_ObjectConstant()->value();
if (value->is_null_object()) {
tty->print("null");
} else if (!value->is_loaded()) {
tty->print("<unloaded object 0x%x>", value);
} else {
tty->print("<object 0x%x>", value->encoding());
}
} else if (type->as_InstanceConstant() != NULL) {
tty->print("<instance 0x%x>", type->as_InstanceConstant()->value()->encoding());
} else if (type->as_ArrayConstant() != NULL) {
tty->print("<array 0x%x>", type->as_ArrayConstant()->value()->encoding());
} else if (type->as_ClassConstant() != NULL) {
ciInstanceKlass* klass = type->as_ClassConstant()->value();
if (!klass->is_loaded()) {
tty->print("<unloaded class>");
} else {
tty->print("<class 0x%x>", klass->encoding());
}
} else {
tty->print("???");
}
}
开发者ID:subxiang,项目名称:jdk-source-code,代码行数:26,代码来源:c1_InstructionPrinter.cpp
示例7:
bool
NormalizedConstraintSet::StringRange::Intersects(const StringRange& aOther) const
{
if (!mExact.size() || !aOther.mExact.size()) {
return true;
}
ValueType intersection;
set_intersection(mExact.begin(), mExact.end(),
aOther.mExact.begin(), aOther.mExact.end(),
std::inserter(intersection, intersection.begin()));
return !!intersection.size();
}
开发者ID:MichaelKohler,项目名称:gecko-dev,代码行数:13,代码来源:MediaTrackConstraints.cpp
示例8: is
int DataValue::read(const std::string& buf)
{
std::istringstream is(buf);
int tmp;
ValueType val;
while (!(is.eof())) {
is >> tmp;
if (is.fail()) return 1;
val.push_back(static_cast<byte>(tmp));
}
value_.swap(val);
return 0;
}
开发者ID:IAmTheOneTheyCallNeo,项目名称:android_external_Focal,代码行数:13,代码来源:value.cpp
示例9: Intersect
bool
NormalizedConstraintSet::StringRange::Merge(const StringRange& aOther)
{
if (!Intersects(aOther)) {
return false;
}
Intersect(aOther);
ValueType unioned;
set_union(mIdeal.begin(), mIdeal.end(),
aOther.mIdeal.begin(), aOther.mIdeal.end(),
std::inserter(unioned, unioned.begin()));
mIdeal = unioned;
return true;
}
开发者ID:MichaelKohler,项目名称:gecko-dev,代码行数:15,代码来源:MediaTrackConstraints.cpp
示例10: Assert
bool
JITTimeWorkItem::TryGetValueType(uint symId, ValueType * valueType) const
{
Assert(IsLoopBody());
uint index = symId - m_jitBody.GetConstCount();
if (symId >= m_jitBody.GetConstCount() && index < m_workItemData->symIdToValueTypeMapCount)
{
ValueType type = ((ValueType*)m_workItemData->symIdToValueTypeMap)[index];
if (type.GetRawData() != 0)
{
*valueType = type;
return true;
}
}
return false;
}
开发者ID:litian2025,项目名称:ChakraCore,代码行数:16,代码来源:JITTimeWorkItem.cpp
示例11: Assert
int
GlobOpt::GetBoundCheckOffsetForSimd(ValueType arrValueType, const IR::Instr *instr, const int oldOffset /* = -1 */)
{
#ifdef ENABLE_SIMDJS
if (!(Js::IsSimd128LoadStore(instr->m_opcode)))
{
return oldOffset;
}
if (!arrValueType.IsTypedArray())
{
// no need to adjust for other array types, we will not type-spec (see Simd128DoTypeSpecLoadStore)
return oldOffset;
}
Assert(instr->dataWidth == 4 || instr->dataWidth == 8 || instr->dataWidth == 12 || instr->dataWidth == 16);
int numOfElems = Lowerer::SimdGetElementCountFromBytes(arrValueType, instr->dataWidth);
// we want to make bound checks more conservative. We compute how many extra elements we need to add to the bound check
// e.g. if original bound check is value <= Length + offset, and dataWidth is 16 bytes on Float32 array, then we need room for 4 elements. The bound check guarantees room for 1 element.
// Hence, we need to ensure 3 more: value <= Length + offset - 3
// We round up since dataWidth may span a partial lane (e.g. dataWidth = 12, bpe = 8 bytes)
int offsetBias = -(numOfElems - 1);
// we should always make an existing bound-check more conservative.
Assert(offsetBias <= 0);
return oldOffset + offsetBias;
#else
return oldOffset;
#endif
}
开发者ID:280185386,项目名称:ChakraCore,代码行数:32,代码来源:GlobOptSimd128.cpp
示例12: switch
void Canonicalizer::do_ShiftOp (ShiftOp* x) {
ValueType* t = x->x()->type();
if (t->is_constant()) {
switch (t->tag()) {
case intTag : if (t->as_IntConstant()->value() == 0) set_constant(0); return;
case longTag : if (t->as_LongConstant()->value() == (jlong)0) set_constant(jlong_cast(0)); return;
default : ShouldNotReachHere();
}
}
ValueType* t2 = x->y()->type();
if (t2->is_constant()) {
switch (t2->tag()) {
case intTag : if (t2->as_IntConstant()->value() == 0) set_canonical(x->x()); return;
default : ShouldNotReachHere();
}
}
}
开发者ID:MuniyappanV,项目名称:jdk-source-code,代码行数:17,代码来源:c1_Canonicalizer.cpp
示例13: do_Constant
void InstructionPrinter::do_Constant(Constant* x) {
ValueType* t = x->type();
switch (t->tag()) {
case intTag :
output()->print("%d" , t->as_IntConstant ()->value());
break;
case longTag :
output()->print(os::jlong_format_specifier(), t->as_LongConstant()->value());
output()->print("L");
break;
case floatTag :
output()->print("%g" , t->as_FloatConstant ()->value());
break;
case doubleTag :
output()->print("%gD" , t->as_DoubleConstant()->value());
break;
case objectTag :
print_object(x);
break;
case addressTag:
output()->print("bci:%d", t->as_AddressConstant()->value());
break;
default :
output()->print("???");
break;
}
}
开发者ID:,项目名称:,代码行数:27,代码来源:
示例14: GetIRTypeFromValueType
IRType GlobOpt::GetIRTypeFromValueType(const ValueType &valueType)
{
if (valueType.IsFloat())
{
return TyFloat64;
}
else if (valueType.IsInt())
{
return TyInt32;
}
else if (valueType.IsSimd128Float32x4())
{
return TySimd128F4;
}
else
{
Assert(valueType.IsSimd128Int32x4());
return TySimd128I4;
}
}
开发者ID:280185386,项目名称:ChakraCore,代码行数:20,代码来源:GlobOptSimd128.cpp
示例15: print_fields
void print_fields( const ValueType& t ) {
t.visit( to_json_visitor(std::cout) );
/*
slog( "printing fields: %1%", t.size() );
boost::reflect::const_iterator itr = t.begin();
while( itr != t.end() ) {
slog( "%3% %1% = %2%", itr.key(), itr.value().as<std::string>(), itr.value().type() );
++itr;
}
*/
}
开发者ID:fast01,项目名称:boost_reflect,代码行数:11,代码来源:value_test.cpp
示例16: GetBailOutKindFromValueType
IR::BailOutKind GlobOpt::GetBailOutKindFromValueType(const ValueType &valueType)
{
if (valueType.IsFloat())
{
// if required valueType is Float, then allow coercion from any primitive except String.
return IR::BailOutPrimitiveButString;
}
else if (valueType.IsInt())
{
return IR::BailOutIntOnly;
}
else if (valueType.IsSimd128Float32x4())
{
return IR::BailOutSimd128F4Only;
}
else
{
Assert(valueType.IsSimd128Int32x4());
return IR::BailOutSimd128I4Only;
}
}
开发者ID:280185386,项目名称:ChakraCore,代码行数:21,代码来源:GlobOptSimd128.cpp
示例17: do_NegateOp
void Canonicalizer::do_NegateOp(NegateOp* x) {
ValueType* t = x->x()->type();
if (t->is_constant()) {
switch (t->tag()) {
case intTag : set_constant(-t->as_IntConstant ()->value()); return;
case longTag : set_constant(-t->as_LongConstant ()->value()); return;
case floatTag : set_constant(-t->as_FloatConstant ()->value()); return;
case doubleTag: set_constant(-t->as_DoubleConstant()->value()); return;
default : ShouldNotReachHere();
}
}
}
开发者ID:lizhekang,项目名称:TCJDK,代码行数:12,代码来源:c1_Canonicalizer.cpp
示例18: ValueType
int Gear_OscInput::configuredOscHandler(const char *path, const char *types, lo_arg **argv, int argc, void *data, void *user_data)
{
Gear_OscInput *gearOscInput = (Gear_OscInput*)user_data;
std::cout << "Osc message received : " << std::endl;
std::cout << "path: " << path << std::endl;
OscMessageType message;
ListType list;
message.setPath(std::string(path));
for (int i=0; i<argc; i++)
{
std::cout << "arg " << i << " " << types[i] << std::endl;
if (types[i]==LO_FLOAT)
{
ValueType *valuet = new ValueType();
valuet->setValue((float)argv[i]->f);
list.push_back(valuet);
} else if (types[i]==LO_INT32)
{
ValueType *valuet = new ValueType();
valuet->setValue((float)argv[i]->i32);
list.push_back(valuet);
} else if (types[i]==LO_DOUBLE)
{
ValueType *valuet = new ValueType();
valuet->setValue((float)argv[i]->d);
list.push_back(valuet);
} else if (types[i]==LO_STRING)
{
StringType *stringt = new StringType();
stringt->setValue(argv[i]->s);
list.push_back(stringt);
}
}
message.setArgs(list);
ScopedLock scopedLock(gearOscInput->_mutex);
gearOscInput->_messages.push_back(message);
return 0;
}
开发者ID:foogywoo,项目名称:drone,代码行数:44,代码来源:Gear_OscInput.cpp
示例19:
bool GlobOpt::Simd128CanTypeSpecOpnd(const ValueType opndType, ValueType expectedType)
{
if (!opndType.IsSimd128() && !expectedType.IsSimd128())
{
// Non-Simd types can be coerced or we bailout by a FromVar.
return true;
}
// Simd type
if (opndType.HasBeenNull() || opndType.HasBeenUndefined())
{
return false;
}
if (
(opndType.IsLikelyObject() && opndType.ToDefiniteObject() == expectedType) ||
(opndType.IsLikelyObject() && opndType.GetObjectType() == ObjectType::Object)
)
{
return true;
}
return false;
}
开发者ID:280185386,项目名称:ChakraCore,代码行数:23,代码来源:GlobOptSimd128.cpp
示例20: Serialize
void Serialize(ArchiveType &archive, ValueType &value) {
value.Serialize(archive);
}
开发者ID:otaviog,项目名称:UdToolkit,代码行数:3,代码来源:archive.hpp
注:本文中的ValueType类示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论