1/* operator<< -- mpq formatted output to an ostream. 2 3Copyright 2001 Free Software Foundation, Inc. 4 5This file is part of the GNU MP Library. 6 7The GNU MP Library is free software; you can redistribute it and/or modify 8it under the terms of the GNU Lesser General Public License as published by 9the Free Software Foundation; either version 3 of the License, or (at your 10option) any later version. 11 12The GNU MP Library is distributed in the hope that it will be useful, but 13WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY 14or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public 15License for more details. 16 17You should have received a copy of the GNU Lesser General Public License 18along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. */ 19 20#include <iostream> 21#include <stdarg.h> /* for va_list and hence doprnt_funs_t */ 22#include <string.h> 23 24#include "gmp.h" 25#include "gmp-impl.h" 26 27using namespace std; 28 29 30ostream& 31operator<< (ostream &o, mpq_srcptr q) 32{ 33 struct doprnt_params_t param; 34 __gmp_doprnt_params_from_ios (¶m, o); 35 return __gmp_doprnt_integer_ostream (o, ¶m, 36 mpq_get_str (NULL, param.base, q)); 37} 38