sc::R12IntsAcc_MemoryGrp(3)

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

πŸ’… sc::R12IntsAcc_MemoryGrp β€” from the MPQC manual, bestie πŸ’–

Okay so this is a page from the MPQC manual (section 3, which means it's a library function, iykyk) and honestly? It's giving "I hold all your integrals in a MemoryGrp and I will be dramatic about it." Let's get into it. ✨


🌸 NAME 🌸

sc::R12IntsAcc_MemoryGrp β€” your girl for accumulating R12 integrals on top of a MemoryGrp. Periodt. πŸ’…


πŸŽ€ SYNOPSIS πŸŽ€

The whole vibe: it inherits sc::R12IntsAcc. That's the family tree, no cap.

class sc::R12IntsAcc_MemoryGrp : public sc::R12IntsAcc

✨ Public Member Functions ✨

Here's the full roster, bestie β€” every single one, in order, nothing skipped:

  • R12IntsAcc_MemoryGrp (Ref< MemoryGrp > &, int num_te_types, int ni, int nj, int nx, int ny) β€” the constructor that takes a MemoryGrp reference plus num_te_types, ni, nj, nx, ny. That's it, that's the whole signature. 🫢
  • R12IntsAcc_MemoryGrp (StateIn &) β€” constructor that restores from a StateIn. Comeback era. πŸ”₯
  • void save_data_state (StateOut &) β€” saves the base classes (via save_data_state) and the members in the same order the StateIn CTOR initializes them. Order matters, don't play with me.
  • void store_memorygrp (Ref< MemoryGrp > &mem, int ni, const size_t blksize) β€” stores all pair block of integrals held in mem. And listen: mem must be the same as mem_ used to construct this thing. Also it's a collective operation, so everybody participates, no lurkers. πŸ‘€
  • void store_pair_block (int i, int j, double *ints) β€” stores an ij pair block of integrals. Heads up: it assumes the block already resides locally. 🏠
  • void deactivate () β€” you're done reading content, so call set_localsize(0) on the associated MemoryGrp. Also a collective operation. πŸ’«
  • double * retrieve_pair_block (int i, int j, tbint_type oper_type) β€” retrieves an ij pair block of integrals. Hand it over. 🀲
  • void release_pair_block (int i, int j, tbint_type oper_type) β€” releases an ij pair block of integrals, if needed. Bye bestie πŸ‘‹
  • bool is_local (int i, int j) const β€” is this block stored locally? Simple yes/no moment.
  • bool is_avail (int i, int j) const β€” in this implementation, all blocks are globally available. Lucky us. 🌈
  • bool has_access (int proc) const β€” does this task have access to all the integrals? Big question, honestly.
  • bool can_restart () const β€” cannot restart MemoryGrp-based accumulator. Tragic, but true. 😭
  • int ij_index (int i, int j) const β€” gives you the ij index.
  • int ij_proc (int i, int j) const β€” gives you the ij proc.

πŸ¦‹ Additional Inherited Members πŸ¦‹

There are more members inherited from the base class. They're not listed out here, but they exist, and they're living their best life in sc::R12IntsAcc. Go look, iykyk. πŸ’œ


⭐ Member Function Documentation ⭐

Grab a snack, we're going deep on the important ones. πŸ“

🧚 void sc::R12IntsAcc_MemoryGrp::deactivate () [virtual]

You're done reading content β€” so call set_localsize(0) on the associated MemoryGrp. It's a collective operation, so everyone's doing it together.

And this is the part where I hold your hand: this accumulator cannot be activated again. Like, ever. It's a one-way door. Do not come back asking. πŸ’€

Reimplemented from sc::R12IntsAcc.

🧚 void sc::R12IntsAcc_MemoryGrp::save_data_state (StateOut &) [virtual]

Saves the base classes (with save_data_state) and the members in the same order that the StateIn CTOR initializes them. Matching order is the whole entire point, okay?

And fr fr: this must be implemented by the derived class if the class has data. Non-negotiable. πŸ‘‘

Reimplemented from sc::R12IntsAcc.

🧚 void sc::R12IntsAcc_MemoryGrp::store_memorygrp (Ref< MemoryGrp > & mem, int ni, const size_t blksize) [virtual]

Stores all pair block of integrals held in mem.

Okay so important detail: mem must be the same as mem_ used to construct this. Same one. No substitutes, no swaps. πŸ™…β€β™€οΈ

This is a collective operation β€” everybody in.

Want more info? It says to see the documentation for R12IntsAcc::store_memorygrp(). So go see it. 🫑

Implements sc::R12IntsAcc.


πŸ‘‘ Author πŸ‘‘

Generated automatically by Doxygen for MPQC from the source code. So like… a robot wrote this, not a person. Respect the robot. πŸ€–πŸ’–


Okay that's the whole page, you made it, I'm so proud of you. πŸ₯Ή And per the footer: this is Version 2.3.1, dated Sun Oct 4 2020, and you've been reading sc::R12IntsAcc_MemoryGrp(3). Mwah. πŸ’‹βœ¨πŸŽ€

πŸ“¦ where this page comes from