//===----------------------------------------------------------------------===//
//
// The LLVM Compiler Infrastructure
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
// test ratio_subtract
#include<ratio>intmain(){{typedefstd::ratio<1,1>R1;typedefstd::ratio<1,1>R2;typedefstd::ratio_subtract<R1,R2>::typeR;static_assert(R::num==0&&R::den==1,"");}{typedefstd::ratio<1,2>R1;typedefstd::ratio<1,1>R2;typedefstd::ratio_subtract<R1,R2>::typeR;static_assert(R::num==-1&&R::den==2,"");}{typedefstd::ratio<-1,2>R1;typedefstd::ratio<1,1>R2;typedefstd::ratio_subtract<R1,R2>::typeR;static_assert(R::num==-3&&R::den==2,"");}{typedefstd::ratio<1,-2>R1;typedefstd::ratio<1,1>R2;typedefstd::ratio_subtract<R1,R2>::typeR;static_assert(R::num==-3&&R::den==2,"");}{typedefstd::ratio<1,2>R1;typedefstd::ratio<-1,1>R2;typedefstd::ratio_subtract<R1,R2>::typeR;static_assert(R::num==3&&R::den==2,"");}{typedefstd::ratio<1,2>R1;typedefstd::ratio<1,-1>R2;typedefstd::ratio_subtract<R1,R2>::typeR;static_assert(R::num==3&&R::den==2,"");}{typedefstd::ratio<56987354,467584654>R1;typedefstd::ratio<544668,22145>R2;typedefstd::ratio_subtract<R1,R2>::typeR;static_assert(R::num==-126708206685271LL&&R::den==5177331081415LL,"");}}