File: README.md

package info (click to toggle)
espresso 6.7-4
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 311,068 kB
  • sloc: f90: 447,429; ansic: 52,566; sh: 40,631; xml: 37,561; tcl: 20,077; lisp: 5,923; makefile: 4,503; python: 4,379; perl: 1,219; cpp: 761; fortran: 618; java: 568; awk: 128
file content (44 lines) | stat: -rw-r--r-- 1,851 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
# Dev Tools

This directory contains several tools that may be useful for developers

- `mem_counter`. A script that tracks all calls to `allocate` and `deallocate`,
   appending a call to subroutine `UtilXlib/mem_counter.f90`.
   Calls python script `mem_counter.py`, written by Pietro Bonfà (CINECA)
   and improved by Samuel Poncé.
   `mem_counter -h` gives information on how to use it.
-  `mem_analyse.py` is a python script, by Samuel Poncé, locating memory leaks. See the script header for directions on how to use it.
- `src-normal`. A script that "normalizes" the fortran syntax to QE style (see below).
   Calls python script `src-normal.py`, written by Norbert Nemec.

   Usage: `src-normal file1.f90 [file2.f90 ...]` or `src-normal`
- Utilities for GPUs (Pietro Bonfà):
  * `get_device_props.py`
  * `device_props.c`
- (Obsolete?) utilities:
  * `calltree.pl`
   A perl script, to be run from the root QE directory, producing in the
   standard output the tree of called routines
  * `callhtml.pl`
   As above, producing a html page with the tree of called routines
- Utilities for PWgui:
  * `check_gui` (called via `Makefile`)
  * `diff_gui_help`
  * `guihelp.xsl`
  * `update_gui_help`
- Utilities for helpdoc (see `README.helpdoc`):
  * `helpdoc`
  * `helpdoc.d`
  * `helpdoc.schema`
  * `input_xx.xsl`
- Utilities for emacs_mode:
  * `gen-emacs-mode`
  * `gen-emacs-mode.tcl`

## Coding style
These are some basic rules for Fortran codes enforced by `src_normal`:
* Use spaces for indentation instead of tabs (tab width 8 characters).
* Trailing whitespaces at the end the line should be removed.
* Normalize multiword keywords (e.g. END DO).
* Use capitalize version of the intrisic keywords (IF, DO, SUBROUTINE, etc.).
* Use the newest version of the comparison operators (==, >, etc.) instead of the old one (.eq., .gt., etc.)