File: wnmod.c

package info (click to toggle)
libwn6 6.0-3
  • links: PTS
  • area: main
  • in suites: potato
  • size: 5,996 kB
  • ctags: 3,938
  • sloc: ansic: 45,083; makefile: 926; csh: 274; sh: 12
file content (54 lines) | stat: -rw-r--r-- 961 bytes parent folder | download | duplicates (4)
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
45
46
47
48
49
50
51
52
53
54
/**********************************************************************

FUNCTIONS PROVIDED:

  int wn_imod(x,modulus)
  double wn_fmod(x,modulus)

**********************************************************************/
/****************************************************************************

COPYRIGHT NOTICE:

  The source code in this file is provided free of charge
  to the author's consulting clients.  It is in the
  public domain and therefore may be used by anybody for
  any purpose.

AUTHOR:

  Will Naylor

****************************************************************************/

#include "wnlib.h"



int wn_imod(x,modulus)

int x,modulus;

{
  extern double wn_round();
  double wn_fmod();

  return((int)wn_round(wn_fmod((double)x,(double)modulus)));
}



double wn_fmod(x,modulus)

double x,modulus;

{
  extern double wn_floor();
  double quotient;

  quotient = x/modulus;

  return(((quotient - wn_floor(quotient))*modulus));
}