File: 035_invariant.c

package info (click to toggle)
doxygen 1.15.0%2Bds1-1
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 25,384 kB
  • sloc: cpp: 223,248; lex: 45,536; python: 32,394; ansic: 26,761; xml: 16,962; javascript: 8,627; yacc: 582; f90: 455; php: 427; perl: 384; makefile: 201; sh: 24; objc: 14; cs: 5; java: 1
file content (15 lines) | stat: -rw-r--r-- 267 bytes parent folder | download | duplicates (15)
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;
}