Navigation

  • Index
  • modules    
  •    
  •    
  •    
  •  · 
  • 1.2.1
  •  · 
  • PSI4
  • Contributions: Intro to Programming in PSI4

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

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

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

Miscellaneous¶

  1. Adding Test Cases

Logo

table of contents

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

Navigation

  • Index
  • modules    
  •    
  •    
  •    
  •  · 
  • 1.2.1
  •  · 
  • PSI4
  • Contributions: Intro to Programming in PSI4
© Copyright 2018, The Psi4 Project. Last updated on Wednesday, 25 July 2018 04:21AM. Created using Sphinx 1.7.6.