本文整理汇总了C++中Array::Fill方法的典型用法代码示例。如果您正苦于以下问题:C++ Array::Fill方法的具体用法?C++ Array::Fill怎么用?C++ Array::Fill使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Array
的用法示例。
在下文中一共展示了Array::Fill方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: GetRowData
Bool_T Postsolver::GetRowData( Real_T &val, Int_T &len, // )
Array<Real_T> &a, Array<Int_T> &ind )
{
//--------------------------------------------------------------------------
// Read the removed variable's coefficient in the row in question.
//
if( !Lexer::GetSpace() )
{
Error( "Premature end of section." );
return False;
}
if( !Lexer::GetKeyword( "VALUE" ) || !Lexer::GetSpace() ||
!Lexer::GetNumeric() )
{
Error( "Variable's coefficient expected." );
return False;
}
val = Lexer::Number;
Lexer::GetNewline( True );
//--------------------------------------------------------------------------
// Read the row's coefficients.
//
{
Int_T max_len = 10;
a.Resize( max_len); a.Fill( 0.0, max_len );
ind.Resize( max_len ); ind.Fill( -1, max_len );
for( len = 0; Lexer::GetSpace(); len++ )
{
if( !Lexer::GetKeyword( "COEFF" ) || !Lexer::GetSpace() )
{
Error( "Matrix coefficient expected." );
return False;
}
if( len >= max_len )
{
Int_T new_max_len = Int_T( Max( max_len + 10, 3*max_len/2 ) );
a.Resize( new_max_len );
ind.Resize( new_max_len );
a.Fill( 0.0, new_max_len, max_len );
ind.Fill( -1, new_max_len, max_len );
max_len = new_max_len;
}
if( !Lexer::GetNumeric() || !Lexer::GetSpace() )
{
Error( "Variable index expected." );
return False;
}
ind[len] = (Int_T) Lexer::Number;
if( !Lexer::GetNumeric() )
{
Error( "Matrix coefficient expected." );
return False;
}
a[len] = Lexer::Number;
if( ind[len] < 0 || ind[len] >= n )
{
Error( "Variable index out of range: %d", ind[len] );
return False;
}
Lexer::GetNewline( True );
}
}
return True;
}