X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=flower%2Finclude%2Freal.hh;h=7345079680082673f73bb85760384ea6c3d3adf1;hb=058370efc7e9710f149d0f444328bb1fcd7bdec1;hp=0533af2111a5510ce0624bf674f805fa8b5a1563;hpb=01ddcb81463d7a68530971100469d3e2baf8c94b;p=lilypond.git diff --git a/flower/include/real.hh b/flower/include/real.hh index 0533af2111..7345079680 100644 --- a/flower/include/real.hh +++ b/flower/include/real.hh @@ -1,16 +1,58 @@ +/* + This file is part of LilyPond, the GNU music typesetter. + + Copyright (C) 1997--2014 Han-Wen Nienhuys + + LilyPond is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + LilyPond is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with LilyPond. If not, see . +*/ + #ifndef REAL_HH #define REAL_HH - -#include -#include -#include +#include +#include +#include +using namespace std; typedef double Real; +extern const Real infinity_f; + +/* namespace std { */ + +template inline T abs (T x) +{ + return x > 0 ? x : -x; +} + +/* } namespace std */ inline Real -distance(Real x,Real y) +distance (Real x, Real y) +{ + return abs (x - y); +} + +template inline int sign (T x) { - return abs(x-y); + if (x) + return x > T (0) ? 1 : -1; + return 0; } + +template inline T sqr (T x) +{ + return x * x; +} + #endif