Real-time collaboration for Jupyter Notebooks, Linux Terminals, LaTeX, VS Code, R IDE, and more,
all in one place.
Real-time collaboration for Jupyter Notebooks, Linux Terminals, LaTeX, VS Code, R IDE, and more,
all in one place.
| Download
GAP 4.8.9 installation with standard packages -- copy to your CoCalc project to get it
Project: cocalc-sagemath-dev-slelievre
Path: gap4r8 / pkg / NormalizInterface-1.0.2 / Normaliz.git / DST / include / libQnormaliz / Qconvert.h
Views: 418425/*1* Normaliz2* Copyright (C) 2007-2014 Winfried Bruns, Bogdan Ichim, Christof Soeger3* This program is free software: you can redistribute it and/or modify4* it under the terms of the GNU General Public License as published by5* the Free Software Foundation, either version 3 of the License, or6* (at your option) any later version.7*8* This program is distributed in the hope that it will be useful,9* but WITHOUT ANY WARRANTY; without even the implied warranty of10* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the11* GNU General Public License for more details.12*13* You should have received a copy of the GNU General Public License14* along with this program. If not, see <http://www.gnu.org/licenses/>.15*16* As an exception, when this program is distributed through (i) the App Store17* by Apple Inc.; (ii) the Mac App Store by Apple Inc.; or (iii) Google Play18* by Google Inc., then that store may impose any digital rights management,19* device limits and/or redistribution restrictions that are required by its20* terms of service.21*/2223//---------------------------------------------------------------------------2425#ifndef CONVERT_H26#define CONVERT_H2728//---------------------------------------------------------------------------2930//#include <ostream>31#include <libQnormaliz/Qnormaliz_exception.h>32#include <libQnormaliz/Qinteger.h>3334namespace libQnormaliz {3536// conversion for integers, throws ArithmeticException if conversion fails37template<typename ToType, typename FromType>38void convert(ToType& ret, const FromType& val) {39if (!try_convert(ret,val)) {40throw ArithmeticException(val);41}42}4344// conversion of vectors45template<typename ToType, typename FromType>46void convert(vector<ToType>& ret_vect, const vector<FromType>& from_vect){47size_t s = from_vect.size();48ret_vect.resize(s);49for (size_t i=0; i<s; ++i)50convert(ret_vect[i], from_vect[i]);51}5253// general conversion with return, throws ArithmeticException if conversion fails54template<typename ToType, typename FromType>55ToType convertTo(const FromType& val) {56ToType copy;57convert(copy,val);58return copy;59}6061} //end namespace6263//---------------------------------------------------------------------------64#endif65//---------------------------------------------------------------------------666768