sc::R12IntsAcc_MemoryGrp(3)
π 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 aMemoryGrpreference plusnum_te_types,ni,nj,nx,ny. That's it, that's the whole signature. π«ΆR12IntsAcc_MemoryGrp (StateIn &)β constructor that restores from aStateIn. Comeback era. π₯void save_data_state (StateOut &)β saves the base classes (viasave_data_state) and the members in the same order theStateInCTOR 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 inmem. And listen:memmust be the same asmem_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 anijpair block of integrals. Heads up: it assumes the block already resides locally. πvoid deactivate ()β you're done reading content, so callset_localsize(0)on the associatedMemoryGrp. Also a collective operation. π«double * retrieve_pair_block (int i, int j, tbint_type oper_type)β retrieves anijpair block of integrals. Hand it over. π€²void release_pair_block (int i, int j, tbint_type oper_type)β releases anijpair 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 theijindex.int ij_proc (int i, int j) constβ gives you theijproc.
π¦ 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
- 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