Skip to content

[Mirror] Tpetra, Ifpack2: Doxygen warnings#107

Open
csiefer2 wants to merge 3 commits intodevelopfrom
pr-mirror-15184
Open

[Mirror] Tpetra, Ifpack2: Doxygen warnings#107
csiefer2 wants to merge 3 commits intodevelopfrom
pr-mirror-15184

Conversation

@csiefer2
Copy link
Copy Markdown
Owner

Automated mirror of upstream PR trilinos#15184 @trilinos/tpetra @trilinos/ifpack2

Motivation

Fix some doxygen warnings.

@github-actions
Copy link
Copy Markdown

CDash for AT1 results [Only accessible from Sandia networks]
CDash for AT2 results [Currently only accessible from Sandia networks]

Copy link
Copy Markdown

@gemini-code-assist gemini-code-assist Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request performs extensive cleanup and correction of Doxygen documentation across the Ifpack2 and Tpetra packages, including the removal of obsolete Doxyfile tags and the addition of missing parameter descriptions. Review feedback highlights several remaining inaccuracies in documentation, specifically where 'Global' is used instead of 'Local' for column index descriptions in various filter classes, a misleading parameter name in OverlappingRowGraph, and an outdated brief tag in InverseDiagonalKernel.


/// \file Ifpack2_Details_DiagonalKernel_decl.hpp
/// \file Ifpack2_Details_InverseDiagonalKernel_decl.hpp
/// \brief Declaration of Ifpack2::Details::DiagonalKernel
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

The \brief description still refers to DiagonalKernel, but this file is for InverseDiagonalKernel. Please update it to match the file name and content.

Suggested change
/// \brief Declaration of Ifpack2::Details::DiagonalKernel
/// \brief Declaration of Ifpack2::Details::InverseDiagonalKernel

///
/// \param localRow [in] Local index of the row.
/// \param indices [out] Local column indices in that row that are
/// \param gblColInds [out] Local column indices in that row that are
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

The parameter name gblColInds is misleading for the getLocalRowCopy method, as the description correctly states it returns local column indices. This appears to be a copy-paste error from the getGlobalRowCopy documentation above. It should likely be lclColInds to match the naming convention used in getLocalRowView (line 243).

\param LocalRow - (In) Local row number for which indices are desired.
\param Indices - (Out) Global column indices corresponding to values.
\param Values - (Out) Row values
\param indices - (Out) Global column indices corresponding to values.
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

In getLocalRowView, the documentation incorrectly describes the indices parameter as "Global column indices". Since this method provides a view of local indices, the description should be updated to "Local column indices" for accuracy, consistent with the description in getLocalRowCopy (line 174).

Suggested change
\param indices - (Out) Global column indices corresponding to values.
\param indices - (Out) Local column indices corresponding to values.

Note: If \c DropRow does not belong to this node, then \c indices is set to null.
*/
\param LocalRow - (In) Local row number for which indices are desired.
\param indices - (Out) Global column indices corresponding to values.
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

In getLocalRowView, the documentation incorrectly describes the indices parameter as "Global column indices". It should be "Local column indices" to correctly reflect the behavior of this local view method.

Suggested change
\param indices - (Out) Global column indices corresponding to values.
\param indices - (Out) Local column indices corresponding to values.

\param Values - (Out) Row values
\pre <tt>isGloballyIndexed() == false</tt>
\post <tt>indices.size() == getNumEntriesInLocalRow(LocalRow)</tt>
\param indices - (Out) Global column indices corresponding to values.
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

In getLocalRowView, the documentation incorrectly describes the indices parameter as "Global column indices". It should be updated to "Local column indices".

Suggested change
\param indices - (Out) Global column indices corresponding to values.
\param indices - (Out) Local column indices corresponding to values.

\param Values - (Out) Row values
\pre <tt>isGloballyIndexed() == false</tt>
\post <tt>indices.size() == getNumEntriesInDropRow(LocalRow)</tt>
\param indices - (Out) Global column indices corresponding to values.
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

In getLocalRowView, the documentation incorrectly describes the indices parameter as "Global column indices". It should be "Local column indices".

Suggested change
\param indices - (Out) Global column indices corresponding to values.
\param indices - (Out) Local column indices corresponding to values.

\param Values - (Out) Row values
\pre <tt>isGloballyIndexed() == false</tt>
\post <tt>indices.size() == getNumEntriesInLocalRow(LocalRow)</tt>
\param indices - (Out) Global column indices corresponding to values.
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

In getLocalRowView, the documentation incorrectly describes the indices parameter as "Global column indices". It should be "Local column indices".

Suggested change
\param indices - (Out) Global column indices corresponding to values.
\param indices - (Out) Local column indices corresponding to values.

Note: If \c DropRow does not belong to this node, then \c indices is set to null.
*/
\param LocalRow - (In) Local row number for which indices are desired.
\param indices - (Out) Global column indices corresponding to values.
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

In getLocalRowView, the documentation incorrectly describes the indices parameter as "Global column indices". It should be "Local column indices".

Suggested change
\param indices - (Out) Global column indices corresponding to values.
\param indices - (Out) Local column indices corresponding to values.

Signed-off-by: Christian Glusa <caglusa@sandia.gov>
@cgcgcg
Copy link
Copy Markdown

cgcgcg commented Apr 27, 2026

/gemini review

Copy link
Copy Markdown

@gemini-code-assist gemini-code-assist Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request focuses on extensive documentation cleanup and synchronization across the Ifpack2 and Tpetra packages. The changes primarily involve updating Doxygen comments to match function signatures, adding missing parameter descriptions (particularly for 'apply' and 'applyMat' methods), and correcting file headers. A specific issue was identified in 'Ifpack2_Details_OverlappingRowGraph_decl.hpp' where the documentation for 'getLocalRowCopy' was updated with an incorrect parameter name, creating a mismatch with the actual code change.

Comment on lines +213 to +222
/// \param numIndices [out] Number of indices returned in \c gblColInds.
///
/// This method throws std::runtime_error if \c indices is not large
/// This method throws std::runtime_error if \c gblColInds is not large
/// enough to hold the column indices in row \c localRow. If row
/// <tt>localRow</tt> does not belong to this process, then
/// <tt>indices</tt> is not modified and \c numIndices is set to
/// <tt>gblColInds</tt> is not modified and \c numIndices is set to
/// Teuchos::OrdinalTraits<size_t>::invalid() on output.
virtual void
getLocalRowCopy(local_ordinal_type localRow,
nonconst_local_inds_host_view_type& gblColInds,
nonconst_local_inds_host_view_type& indices,
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

In getLocalRowCopy, the parameter name in the function signature was correctly changed from gblColInds to indices to reflect that it handles local indices. However, the Doxygen documentation was incorrectly updated to use gblColInds in several places (lines 213, 215, and 218), which now creates a mismatch with the updated signature. The documentation should be updated to use indices to remain consistent with the code.

Suggested change
/// \param numIndices [out] Number of indices returned in \c gblColInds.
///
/// This method throws std::runtime_error if \c indices is not large
/// This method throws std::runtime_error if \c gblColInds is not large
/// enough to hold the column indices in row \c localRow. If row
/// <tt>localRow</tt> does not belong to this process, then
/// <tt>indices</tt> is not modified and \c numIndices is set to
/// <tt>gblColInds</tt> is not modified and \c numIndices is set to
/// Teuchos::OrdinalTraits<size_t>::invalid() on output.
virtual void
getLocalRowCopy(local_ordinal_type localRow,
nonconst_local_inds_host_view_type& gblColInds,
nonconst_local_inds_host_view_type& indices,
/// \param numIndices [out] Number of indices returned in \c indices.
///
/// This method throws std::runtime_error if \c indices is not large
/// enough to hold the column indices in row \c localRow. If row
/// <tt>localRow</tt> does not belong to this process, then
/// <tt>indices</tt> is not modified and \c numIndices is set to
/// Teuchos::OrdinalTraits<size_t>::invalid() on output.
virtual void
getLocalRowCopy(local_ordinal_type localRow,
nonconst_local_inds_host_view_type& indices,

Signed-off-by: Christian Glusa <caglusa@sandia.gov>
@cgcgcg
Copy link
Copy Markdown

cgcgcg commented Apr 28, 2026

/gemini review

Copy link
Copy Markdown

@gemini-code-assist gemini-code-assist Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request performs extensive documentation updates and parameter renaming across the Ifpack2 and Tpetra packages to improve clarity and consistency. Key changes include correcting file headers, fixing typos, and ensuring that Doxygen tags accurately reflect function signatures. The review feedback identifies several locations where descriptive notes and post-conditions were not updated to match the renamed parameters, such as 'NumEntries' and 'LocalRow', which is necessary to maintain documentation integrity and avoid Doxygen warnings.

returned as Teuchos::OrdinalTraits<size_t>::invalid().
*/
Note: A std::runtime_error exception is thrown if either \c Indices or \c Values is not large enough to hold the data associated
with row \c LocalRow. If \c LocalRow is not valid for this node, then \c Indices and \c Values are unchanged and \c NumIndices is
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

The parameter NumIndices was renamed to NumEntries on line 176. This reference in the note should be updated to maintain consistency and avoid Doxygen warnings.

Suggested change
with row \c LocalRow. If \c LocalRow is not valid for this node, then \c Indices and \c Values are unchanged and \c NumIndices is
with row \c LocalRow. If \c LocalRow is not valid for this node, then \c Indices and \c Values are unchanged and \c NumEntries is

\param indices - (Out) Local column indices corresponding to values.
\param values - (Out) Row values
\pre <tt>isGloballyIndexed() == false</tt>
\post <tt>indices.size() == getNumEntriesInDropRow(DropRow)</tt>
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

The parameter DropRow was renamed to LocalRow on line 206. The \post condition should be updated to reflect this change.

Suggested change
\post <tt>indices.size() == getNumEntriesInDropRow(DropRow)</tt>
\post <tt>indices.size() == getNumEntriesInDropRow(LocalRow)</tt>

\pre <tt>isGloballyIndexed() == false</tt>
\post <tt>indices.size() == getNumEntriesInDropRow(DropRow)</tt>

Note: If \c DropRow does not belong to this node, then \c indices is set to null.
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

The parameter DropRow was renamed to LocalRow on line 206. This reference in the note should be updated.

Suggested change
Note: If \c DropRow does not belong to this node, then \c indices is set to null.
Note: If \c LocalRow does not belong to this node, then \c indices is set to null.

returned as Teuchos::OrdinalTraits<size_t>::invalid().
*/
Note: A std::runtime_error exception is thrown if either \c Indices or \c Values is not large enough to hold the data associated
with row \c GlobalRow. If \c GlobalRow does not belong to this node, then \c Indices and \c Values are unchanged and \c NumIndices is
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

The parameter NumIndices was renamed to NumEntries on line 189. This reference in the note should be updated.

Suggested change
with row \c GlobalRow. If \c GlobalRow does not belong to this node, then \c Indices and \c Values are unchanged and \c NumIndices is
with row \c GlobalRow. If \c GlobalRow does not belong to this node, then \c Indices and \c Values are unchanged and \c NumEntries is

returned as Teuchos::OrdinalTraits<size_t>::invalid().
*/
Note: A std::runtime_error exception is thrown if either \c Indices or \c Values is not large enough to hold the data associated
with row \c LocalRow. If \c LocalRow is not valid for this node, then \c Indices and \c Values are unchanged and \c NumIndices is
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

The parameter NumIndices was renamed to NumEntries on line 206. This reference in the note should be updated.

Suggested change
with row \c LocalRow. If \c LocalRow is not valid for this node, then \c Indices and \c Values are unchanged and \c NumIndices is
with row \c LocalRow. If \c LocalRow is not valid for this node, then \c Indices and \c Values are unchanged and \c NumEntries is

returned as Teuchos::OrdinalTraits<size_t>::invalid().
*/
Note: A std::runtime_error exception is thrown if either \c Indices or \c Values is not large enough to hold the data associated
with row \c LocalRow. If \c LocalRow is not valid for this node, then \c Indices and \c Values are unchanged and \c NumIndices is
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

The parameter NumIndices was renamed to NumEntries on line 162. This reference in the note should be updated.

Suggested change
with row \c LocalRow. If \c LocalRow is not valid for this node, then \c Indices and \c Values are unchanged and \c NumIndices is
with row \c LocalRow. If \c LocalRow is not valid for this node, then \c Indices and \c Values are unchanged and \c NumEntries is

returned as Teuchos::OrdinalTraits<size_t>::invalid().
*/
Note: A std::runtime_error exception is thrown if either \c Indices or \c Values is not large enough to hold the data associated
with row \c GlobalRow. If \c GlobalRow does not belong to this node, then \c Indices and \c Values are unchanged and \c NumIndices is
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

The parameter NumIndices was renamed to NumEntries on line 164. This reference in the note should be updated.

Suggested change
with row \c GlobalRow. If \c GlobalRow does not belong to this node, then \c Indices and \c Values are unchanged and \c NumIndices is
with row \c GlobalRow. If \c GlobalRow does not belong to this node, then \c Indices and \c Values are unchanged and \c NumEntries is

returned as Teuchos::OrdinalTraits<size_t>::invalid().
*/
Note: A std::runtime_error exception is thrown if either \c Indices or \c Values is not large enough to hold the data associated
with row \c DropRow. If \c DropRow is not valid for this node, then \c Indices and \c Values are unchanged and \c NumIndices is
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

The parameter DropRow was renamed to LocalRow on line 178, and NumIndices was renamed to NumEntries on line 181. This note should be updated to reflect these changes.

Suggested change
with row \c DropRow. If \c DropRow is not valid for this node, then \c Indices and \c Values are unchanged and \c NumIndices is
with row \c LocalRow. If \c LocalRow is not valid for this node, then \c Indices and \c Values are unchanged and \c NumEntries is

\param indices - (Out) Local column indices corresponding to values.
\param values - (Out) Row values
\pre <tt>isGloballyIndexed() == false</tt>
\post <tt>indices.size() == getNumEntriesInDropRow(DropRow)</tt>
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

The parameter DropRow was renamed to LocalRow on line 211. The \post condition should be updated.

Suggested change
\post <tt>indices.size() == getNumEntriesInDropRow(DropRow)</tt>
\post <tt>indices.size() == getNumEntriesInDropRow(LocalRow)</tt>

\pre <tt>isGloballyIndexed() == false</tt>
\post <tt>indices.size() == getNumEntriesInDropRow(DropRow)</tt>

Note: If \c DropRow does not belong to this node, then \c indices is set to null.
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

The parameter DropRow was renamed to LocalRow on line 211. This reference in the note should be updated.

Suggested change
Note: If \c DropRow does not belong to this node, then \c indices is set to null.
Note: If \c LocalRow does not belong to this node, then \c indices is set to null.

Signed-off-by: Christian Glusa <caglusa@sandia.gov>
@cgcgcg
Copy link
Copy Markdown

cgcgcg commented Apr 28, 2026

/gemini review

Copy link
Copy Markdown

@gemini-code-assist gemini-code-assist Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request performs an extensive cleanup of Doxygen documentation across the ifpack2 and tpetra packages, addressing numerous typos, missing parameter descriptions, and deprecated configuration tags. The changes improve documentation accuracy and resolve various Doxygen warnings. Review comments identified several remaining typos in the documentation for DropFilter, ReorderFilter, and SparsityFilter, specifically recommending the correction of isDroplyIndexed to isLocallyIndexed and getNumEntriesInDropRow to getNumEntriesInLocalRow to match the actual class interfaces.

\post <tt>indices.size() == getNumEntriesInGlobalRow(GlobalRow)</tt>
\param indices - (Out) Global column indices corresponding to values.
\param values - (Out) Row values
\pre <tt>isDroplyIndexed() == false</tt>
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

The method isDroplyIndexed() appears to be a typo for isLocallyIndexed(). Since this PR aims to fix Doxygen warnings and improve documentation quality, correcting this typo will ensure the documentation accurately reflects the class interface.

Suggested change
\pre <tt>isDroplyIndexed() == false</tt>
\pre <tt>isLocallyIndexed() == false</tt>

\param indices - (Out) Local column indices corresponding to values.
\param values - (Out) Row values
\pre <tt>isGloballyIndexed() == false</tt>
\post <tt>indices.size() == getNumEntriesInDropRow(LocalRow)</tt>
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

The method getNumEntriesInDropRow() appears to be a typo for getNumEntriesInLocalRow(). This likely occurred during a search-and-replace operation. Correcting it will improve documentation clarity and accuracy.

Suggested change
\post <tt>indices.size() == getNumEntriesInDropRow(LocalRow)</tt>
\post <tt>indices.size() == getNumEntriesInLocalRow(LocalRow)</tt>

\param indices - (Out) Local column indices corresponding to values.
\param values - (Out) Row values
\pre <tt>isGloballyIndexed() == false</tt>
\post <tt>indices.size() == getNumEntriesInDropRow(LocalRow)</tt>
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

The method getNumEntriesInDropRow() appears to be a typo for getNumEntriesInLocalRow(). This seems to be a copy-paste error from another filter class and should be corrected to match the actual API.

Suggested change
\post <tt>indices.size() == getNumEntriesInDropRow(LocalRow)</tt>
\post <tt>indices.size() == getNumEntriesInLocalRow(LocalRow)</tt>

\post <tt>indices.size() == getNumEntriesInGlobalRow(GlobalRow)</tt>
\param indices - (Out) Global column indices corresponding to values.
\param values - (Out) Row values
\pre <tt>isDroplyIndexed() == false</tt>
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

The method isDroplyIndexed() appears to be a typo for isLocallyIndexed(). Correcting this will ensure the Doxygen documentation is accurate and consistent with the rest of the codebase.

Suggested change
\pre <tt>isDroplyIndexed() == false</tt>
\pre <tt>isLocallyIndexed() == false</tt>

\param indices - (Out) Local column indices corresponding to values.
\param values - (Out) Row values
\pre <tt>isGloballyIndexed() == false</tt>
\post <tt>indices.size() == getNumEntriesInDropRow(LocalRow)</tt>
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

The method getNumEntriesInDropRow() appears to be a typo for getNumEntriesInLocalRow(). This is likely a result of an incorrect search-and-replace operation and should be fixed to avoid confusion.

Suggested change
\post <tt>indices.size() == getNumEntriesInDropRow(LocalRow)</tt>
\post <tt>indices.size() == getNumEntriesInLocalRow(LocalRow)</tt>

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants