GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
std::ratio_divide(3) C++ Standard Libary std::ratio_divide(3)

std::ratio_divide - std::ratio_divide


Defined in header <ratio>
template< class R1, class R2 > (since C++11)
using ratio_divide = /* see below */;


The alias template std::ratio_divide denotes the result of dividing two exact
rational fractions represented by the std::ratio specializations R1 and R2.


The result is a std::ratio specialization std::ratio<U, V>, such that given Num ==
R1::num * R2::den and Denom == R1::den * R2::num (computed without arithmetic
overflow), U is std::ratio<Num, Denom>::num and V is std::ratio<Num, Denom>::den.


If U or V is not representable in std::intmax_t, the program is ill-formed. If Num
or Denom is not representable in std::intmax_t, the program is ill-formed unless the
implementation yields correct values for U and V.


The above definition requires that the result of std::ratio_divide<R1, R2> be
already reduced to lowest terms; for example, std::ratio_divide<std::ratio<1, 12>,
std::ratio<1, 6>> is the same type as std::ratio<1, 2>.

// Run this code


#include <iostream>
#include <ratio>


int main()
{
using two_third = std::ratio<2, 3>;
using one_sixth = std::ratio<1, 6>;
using quotient = std::ratio_divide<two_third, one_sixth>;
std::cout << "(2/3) / (1/6) = " << quotient::num << '/' << quotient::den << '\n';
}


(2/3) / (1/6) = 4/1

2022.07.31 http://cppreference.com

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.