File: 035_invariant.c

package info (click to toggle)
doxygen 1.9.8%2Bds-2.1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 24,000 kB
  • sloc: cpp: 215,370; lex: 42,621; python: 32,388; ansic: 26,705; xml: 15,390; javascript: 8,352; yacc: 581; f90: 455; php: 441; perl: 378; makefile: 195; sh: 24; objc: 14; cs: 5; java: 1
file content (15 lines) | stat: -rw-r--r-- 267 bytes parent folder | download | duplicates (14)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
// objective: test \invariant, \pre and \post commands
// check: 035__invariant_8c.xml

/** \file */

/** \invariant i+j=p
 *  \pre       p\>=0
 *  \post      *q=2^(p+1)
 */
void func(int p,int *q)
{
  int j = p, k=1, i;
  for (i=0; i<=p; i++) j--,k=k*2;
  *q = k;
}