当前位置: 首页>>代码示例>>C++>>正文


C++ Constant::GetValue方法代码示例

本文整理汇总了C++中Constant::GetValue方法的典型用法代码示例。如果您正苦于以下问题:C++ Constant::GetValue方法的具体用法?C++ Constant::GetValue怎么用?C++ Constant::GetValue使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Constant的用法示例。


在下文中一共展示了Constant::GetValue方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: Simplified

Operator* Power::Simplified(
    Context* nctx,
    TypeCorrespondanceTable& table )
{
    Operator* sf = mySubOps[0]->Simplified(nctx, table);
    Operator* ss = mySubOps[1]->Simplified(nctx, table);
    
    if( sf->IsConstant() && ss->IsConstant() )
    {
        Constant* csf = reinterpret_cast<Constant*>(sf);
        Constant* css = reinterpret_cast<Constant*>(ss);
        
        return new Constant( nctx, std::pow(csf->GetValue(), css->GetValue() ) );
    }
    else if( ss->IsNull() )
        return new Constant( nctx, 1.0 );
    else if( ss->IsOne() )
        return sf;
    else
        return new Power( nctx, sf, ss );
}
开发者ID:Ziple,项目名称:ShadeGen,代码行数:21,代码来源:Power.cpp

示例2: Simplified

Operator* Division::Simplified(
    Context* nctx,
    TypeCorrespondanceTable& table )
{
    Operator* fp = mySubOps[0]->Simplified(nctx, table);
    Operator* fs = mySubOps[1]->Simplified(nctx, table);
    
    if( fp->IsNull() )
        return new Constant( nctx, 0.0, table[GetType()] );
    else if( fp->IsOne() )
        return new Inverse( nctx, fs );
    else if( fp->IsConstant() && fs->IsConstant() )
    {
        Constant* cfp = reinterpret_cast<Constant*>(fp);
        Constant* cfs = reinterpret_cast<Constant*>(fs);
        
        return new Constant( nctx, cfp->GetValue() / cfs->GetValue(), table[GetType()] );
    }
    else
        return new Division( nctx, fp, fs );
}
开发者ID:Ziple,项目名称:ShadeGen,代码行数:21,代码来源:Division.cpp

示例3: Simplified

Operator* Substraction::Simplified(
    Context* nctx,
    TypeCorrespondanceTable& table )
{
    Operator* sf = mySubOps[0]->Simplified(nctx, table);
    Operator* ss = mySubOps[1]->Simplified(nctx, table);
    
    if( sf->IsConstant() && ss->IsConstant() )
    {
        Constant* csf = reinterpret_cast<Constant*>(sf);
        Constant* css = reinterpret_cast<Constant*>(ss);
        
        double v = csf->GetValue() - css->GetValue();
        return new Constant( nctx, v );
    }
    else if( sf->IsNull() )
        return new Negate( nctx, ss );
    else if( ss->IsNull() )
        return sf;
    else
        return new Substraction( nctx, sf, ss );
}
开发者ID:Ziple,项目名称:ShadeGen,代码行数:22,代码来源:Substraction.cpp

示例4: VisitConstant

 void VisitConstant(const Constant& c) {
   std::ostringstream ss;
   ss << c.GetValue();
   value_map_[&c] = ss.str();
 }
开发者ID:AssaultKoder95,项目名称:code-for-blog,代码行数:5,代码来源:visitor-dispatch-in-data.cpp


注:本文中的Constant::GetValue方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。