#include <stdint.h>
Go to the source code of this file.
 | 
| struct   | frac_t | 
|   | frac descriptor for fraction consisting of two 32 bit integers  More...
  | 
|   | 
| uint32_t  | gcd32 (uint32_t u, uint32_t v) | 
|   | Compute greatest common divisor of u and v.  More...
  | 
|   | 
| void  | frac_init (frac_t *frac, uint32_t num, uint32_t den) | 
|   | Initialize frac_t struct.  More...
  | 
|   | 
| static uint32_t  | frac_scale (const frac_t *frac, uint32_t x) | 
|   | Scale a 32 bit integer by a 32/32 rational number.  More...
  | 
|   | 
◆ frac_init()
      
        
          | void frac_init  | 
          ( | 
          frac_t *  | 
          frac,  | 
        
        
           | 
           | 
          uint32_t  | 
          num,  | 
        
        
           | 
           | 
          uint32_t  | 
          den  | 
        
        
           | 
          ) | 
           |  | 
        
      
 
Initialize frac_t struct. 
This function computes the mathematical parameters used by the frac algorithm.
- Note
 - If 
num > den, the result from frac_scale modulo 2**32. 
- Precondition
 den must not be 0
- Parameters
 - 
  
    | [out] | frac | pointer to frac descriptor to initialize  | 
    | [in] | num | numerator  | 
    | [in] | den | denominator  | 
  
   
 
 
◆ frac_scale()
  
  
      
        
          | static uint32_t frac_scale  | 
          ( | 
          const frac_t *  | 
          frac,  | 
         
        
           | 
           | 
          uint32_t  | 
          x  | 
         
        
           | 
          ) | 
           |  | 
         
       
   | 
  
inlinestatic   | 
  
 
Scale a 32 bit integer by a 32/32 rational number. 
- Parameters
 - 
  
    | [in] | frac | scaling fraction  | 
    | [in] | x | unscaled integer | 
  
   
- Returns
 - (x * frac) % 2**32, avoiding truncation 
 
Definition at line 91 of file frac.h.
 
 
◆ gcd32()
      
        
          | uint32_t gcd32  | 
          ( | 
          uint32_t  | 
          u,  | 
        
        
           | 
           | 
          uint32_t  | 
          v  | 
        
        
           | 
          ) | 
           |  | 
        
      
 
Compute greatest common divisor of u and v. 
- Parameters
 - 
  
    | [in] | u | first operand  | 
    | [in] | v | second operand | 
  
   
- Returns
 - Greatest common divisor of 
u and v