sc::SCMatrixLTriBlock(3)
π
sc::SCMatrixLTriBlock(3) β MPQC manual, bestie β¨
okay so this is the sc::SCMatrixLTriBlock(3) page from the MPQC manual, and it's all about a triangular piece of a matrix. Lowkey iconic. Let's get into it. π«Ά
β¨ NAME β¨
sc::SCMatrixLTriBlock β the SCMatrixLTriBlock describes a triangular piece of a matrix. That's the whole name vibe: triangular, matrix-y, blocky. π
π¦ SYNOPSIS π¦
#include <block.h>
Inherits sc::SCMatrixBlock.
π Public Member Functions
SCMatrixLTriBlock (int s, int e)β constructor signature, no extra description on the page. Just vibing. πSCMatrixLTriBlock (StateIn &)β another constructor signature, same deal. β¨void save_data_state (StateOut &)β save the base classes (withsave_data_state) and the members in the same order that theStateInCTOR initializes them. This must be implemented by the derived class if the class has data. Periodt. πΎSCMatrixBlock * deepcopy () constβ return a copy of this. The original text says βReturn of copy of this,β and honestly we respect the quirks. A runtime error will be generated for blocks that cannot do a deepcopy. These routines are only used internally in the matrix library. π§¬void process (SCElementOp *)β signature only; the page doesn't add a description. β¨void process (SCElementOp2 *, SCMatrixBlock *)β signature only; the page doesn't add a description. πΈvoid process (SCElementOp3 *, SCMatrixBlock *, SCMatrixBlock *)β signature only; the page doesn't add a description. π¦double * dat ()β return a pointer to the block's data and the number of elements in the block. Some blocks cannot provide this information and a runtime error will be generated if these members are called. These routines are only used internally in the matrix library. π₯int ndat () constβ no description on the page; it's just listed. π
π Public Attributes
int startβ public attribute. πint endβ public attribute. πdouble * dataβ public attribute. πΎ
π Additional Inherited Members
Yep, there are additional inherited members too. The page has this heading and does not enumerate them here, so that's the whole tea. π«
π Detailed Description
The SCMatrixLTriBlock describes a triangular piece of a matrix. That's the main character energy of this class. π
The following bit of code illustrates the data layout:
fill(double **matrix, SCMatrixLTriBlock &b) { int offset=0; for (int i=b.start; i<b.end; i++) { for (int j=b.start; j<=i; j++,offset++) { matrix[i][j] = b.data[offset]; } } }
π§ Member Function Documentation
double* sc::SCMatrixLTriBlock::dat () [virtual]
Return a pointer to the block's data and the number of elements in the block. Some blocks cannot provide this information and a runtime error will be generated if these members are called. These routines are only used internally in the matrix library. π«Ά
Reimplemented from sc::SCMatrixBlock.
SCMatrixBlock* sc::SCMatrixLTriBlock::deepcopy () const [virtual]
Return of copy of this. A runtime error will be generated for blocks that cannot do a deepcopy. These routines are only used internally in the matrix library. π§¬
Reimplemented from sc::SCMatrixBlock.
void sc::SCMatrixLTriBlock::save_data_state (StateOut &) [virtual]
Save the base classes (with save_data_state) and the members in the same order that the StateIn CTOR initializes them. This must be implemented by the derived class if the class has data. πΎ
Reimplemented from sc::SCMatrixBlock.
π Author
The author line says: βGenerated automatically by Doxygen for MPQC from the source code.β So no mysterious human author, just Doxygen doing its automated thing. π€
okay that's the whole page, bestie β MPQC docs, Version 2.3.1, dated Sun Oct 4 2020, Doxygen-generated and slaying. πβ¨
π¦ where this page comes from
- ubuntu jammy: libsc-doc 2.3.1-21
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms