sc::SCMatrixLTriBlock(3)

πŸ“¦
version 2.3.1 Β· 5 versions
, in ubuntu jammy

πŸ’… 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 (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. 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