OpenShot Library | libopenshot 0.2.7
Public Member Functions | Public Attributes | List of all members
openshot::Fraction Class Reference

This class represents a fraction. More...

#include <Fraction.h>

Public Member Functions

 Fraction ()
 Default Constructor. More...
 
 Fraction (int num, int den)
 Constructor with numerator and denominator. More...
 
 Fraction (std::map< std::string, int > mapping)
 Constructor that takes a key-value mapping (keys: 'num'. 'den') More...
 
 Fraction (std::pair< int, int > pair)
 Constructor that accepts a (num, den) pair. More...
 
 Fraction (std::vector< int > vector)
 Constructor that takes a vector of length 2 (containing {num, den}) More...
 
int GreatestCommonDenominator ()
 Calculate the greatest common denominator. More...
 
Fraction Reciprocal () const
 Return the reciprocal as a Fraction. More...
 
void Reduce ()
 Reduce this fraction (i.e. 640/480 = 4/3) More...
 
double ToDouble () const
 Return this fraction as a double (i.e. 1/2 = 0.5) More...
 
float ToFloat ()
 Return this fraction as a float (i.e. 1/2 = 0.5) More...
 
int ToInt ()
 Return a rounded integer of the fraction (for example 30000/1001 returns 30) More...
 

Public Attributes

int den
 Denominator for the fraction. More...
 
int num
 Numerator for the fraction. More...
 

Detailed Description

This class represents a fraction.

Fractions are often used in video editing to represent ratios and rates, for example: pixel ratios, frames per second, timebase, and other common ratios. Fractions are preferred over decimals due to their increased precision.

Definition at line 48 of file Fraction.h.

Constructor & Destructor Documentation

◆ Fraction() [1/5]

Fraction::Fraction ( )

Default Constructor.

Definition at line 37 of file Fraction.cpp.

Referenced by Reciprocal().

◆ Fraction() [2/5]

Fraction::Fraction ( int  num,
int  den 
)

Constructor with numerator and denominator.

Definition at line 49 of file Fraction.cpp.

◆ Fraction() [3/5]

Fraction::Fraction ( std::pair< int, int >  pair)

Constructor that accepts a (num, den) pair.

Definition at line 39 of file Fraction.cpp.

◆ Fraction() [4/5]

Fraction::Fraction ( std::vector< int >  vector)

Constructor that takes a vector of length 2 (containing {num, den})

Definition at line 45 of file Fraction.cpp.

◆ Fraction() [5/5]

Fraction::Fraction ( std::map< std::string, int >  mapping)

Constructor that takes a key-value mapping (keys: 'num'. 'den')

Definition at line 42 of file Fraction.cpp.

Member Function Documentation

◆ GreatestCommonDenominator()

int Fraction::GreatestCommonDenominator ( )

Calculate the greatest common denominator.

Definition at line 69 of file Fraction.cpp.

Referenced by Reduce().

◆ Reciprocal()

Fraction Fraction::Reciprocal ( ) const

◆ Reduce()

void Fraction::Reduce ( )

◆ ToDouble()

double Fraction::ToDouble ( ) const

◆ ToFloat()

float Fraction::ToFloat ( )

◆ ToInt()

int Fraction::ToInt ( )

Return a rounded integer of the fraction (for example 30000/1001 returns 30)

Definition at line 64 of file Fraction.cpp.

Member Data Documentation

◆ den

int openshot::Fraction::den

◆ num

int openshot::Fraction::num

The documentation for this class was generated from the following files: