Navigation

  • Index
  • modules    
  •    
  •    
  •    
  •  · 
  • 1.4
  •  · 
  • PSI4
  • Adding New Code to PSI4
  • Programmers FAQ

Programmers FAQ¶

C++ Style in PSI4¶

  1. Prefer nullptr to 0 or NULL

  2. Prefer std::make_shared to direct use of new

  3. Prefer auto to explicit type declarations

  4. How to impose code style through your editor

  5. How to impose code style through Git hooks

  6. How to run code-style tools clang-format and yapf manually

Modules in PSI4¶

  1. How to name keywords in psi4/src/read_options.cc

  2. How to call BLAS & LAPACK in

  3. How to use low-level BLAS/LAPACK with psi4.core.Matrix

  4. How to name orbital bases (e.g., AO & SO)

  5. How to name orbital dimensions

  6. How to name orbital spaces (e.g., docc)

Interfacing with PSI4¶

  1. How to use an Add-On’s name in directory structure, build, and distribution

  2. How to integrate an Add-On into build, testing, and docs

Versioning PSI4¶

  1. How to bump a version

  2. How to create and remove an annotated Git tag on a remote

  3. What is the suggested GitHub workflow

  4. What Psi4 version is running

Releasing PSI4¶

  1. Annual

  2. Pre-Release (e.g., v1.3rc1)

  3. Release (e.g., v1.3)

  4. Post-Release (e.g., v1.3.1)

Workflow¶

  1. How to use a local Add-On repository in the Psi4 build

  2. What is the directory layout of the installed or staged Psi4

  3. What is the suggested GitHub workflow

  4. How to highlight git merge conflicts in vi

  5. How to use gdb and lldb with Psi4

  6. How to locate non-ascii characters in the codebase

  7. How to Ignore the Bots

Miscellaneous¶

  1. Adding PSIthon Test Cases

  2. Adding PsiAPI Test Cases

  3. How to find tests without output.ref

  4. How to do GitHub issue management and code review

Logo

table of contents

  • Programmers FAQ
    • C++ Style in PSI4
    • Modules in PSI4
    • Interfacing with PSI4
    • Versioning PSI4
    • Releasing PSI4
    • Workflow
    • Miscellaneous

Navigation

  • Index
  • modules    
  •    
  •    
  •    
  •  · 
  • 1.4
  •  · 
  • PSI4
  • Adding New Code to PSI4
  • Programmers FAQ
© Copyright 2021, The Psi4 Project. Last updated on Thursday, 05 August 2021 02:16PM. Created using Sphinx 4.1.2.