Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
std::gcd(3)		      C++ Standard Libary		   std::gcd(3)

NAME
       std::gcd	- std::gcd

Synopsis
	  Defined in header <numeric>
	  template< class M, class N >			       (since C++17)
	  constexpr std::common_type_t<M, N> gcd( M m, N n );

	  Computes the greatest	common divisor of the integers m and n.

	  If  either  M	or N is	not an integer type, or	if either is (possibly
       cv-qualified)
	  bool,	the program is ill-formed.

	  If either |m|	or |n|	is  not	 representable	as  a  value  of  type
       std::common_type_t<M,
	  N>, the behavior is undefined.

Parameters
	  m, n - integer values

Return value
	  If  both  m  and  n  are  zero, returns zero.	Otherwise, returns the
       greatest	common
	  divisor of |m| and |n|.

Exceptions
	  Throws no exceptions.

Notes
	  Feature-test macro  Value    Std	  Feature
	  __cpp_lib_gcd_lcm  201606L (C++17) std::gcd, std::lcm

Example
       // Run this code

	#include <numeric>

	int main()
	{
	    constexpr int p{2 *	2 * 3};
	    constexpr int q{2 *	3 * 3};
	    static_assert(2 * 3	== std::gcd(p, q));

	    static_assert(std::gcd( 6,	10) == 2);
	    static_assert(std::gcd( 6, -10) == 2);
	    static_assert(std::gcd(-6, -10) == 2);

	    static_assert(std::gcd( 24,	0) == 24);
	    static_assert(std::gcd(-24,	0) == 24);
	}

See also
	  lcm	  computes the least common multiple of	two integers
	  (C++17) (function template)

http://cppreference.com		  2024.06.10			   std::gcd(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=std::gcd&sektion=3&manpath=FreeBSD+Ports+15.1.quarterly>

home | help