// ============================================================================ // // Copyright (c) 1998 The CGAL Consortium // // This software and related documentation is part of an INTERNAL release // of the Computational Geometry Algorithms Library (CGAL). It is not // intended for general use. // // ---------------------------------------------------------------------------- // // release : $CGAL_Revision: $ // release_date : $CGAL_Date: $ // // file : include/CGAL/wmult.h // source : sqdistance_2.fw // author(s) : Geert-Jan Giezeman // // coordinator : Saarbruecken // // ============================================================================ #ifndef CGAL_WMULT_H #define CGAL_WMULT_H CGAL_BEGIN_NAMESPACE #if defined CGAL_HOMOGENEOUS_H template inline RT wmult(Homogeneous*, const RT &a, const RT & w) { return a*w; } template inline RT wmult(Homogeneous*, const RT &a, const RT & w1, const RT & w2) { return a*w1*w2; } template inline RT wmult(Homogeneous*, const RT &a, const RT & w1, const RT & w2, const RT & w3) { return a*w1*w2*w3; } template inline RT wmult(Homogeneous*, const RT &a, const RT & w1, const RT & w2, const RT & w3, const RT & w4) { return a*w1*w2*w3*w4; } #endif // CGAL_HOMOGENEOUS_H #if defined CGAL_SIMPLE_HOMOGENEOUS_H template inline RT wmult(Simple_homogeneous*, const RT &a, const RT & w) { return a*w; } template inline RT wmult(Simple_homogeneous*, const RT &a, const RT & w1, const RT & w2) { return a*w1*w2; } template inline RT wmult(Simple_homogeneous*, const RT &a, const RT & w1, const RT & w2, const RT & w3) { return a*w1*w2*w3; } template inline RT wmult(Simple_homogeneous*, const RT &a, const RT & w1, const RT & w2, const RT & w3, const RT & w4) { return a*w1*w2*w3*w4; } #endif // CGAL_SIMPLE_HOMOGENEOUS_H #if defined CGAL_CARTESIAN_H template inline RT wmult(Cartesian *, const RT &a, const RT & ) { return a; } template inline RT wmult(Cartesian *, const RT &a, const RT & , const RT & ) { return a; } template inline RT wmult(Cartesian *, const RT &a, const RT & , const RT & , const RT & ) { return a; } template inline RT wmult(Cartesian *, const RT &a, const RT & , const RT & , const RT & , const RT & ) { return a; } #endif // CGAL_CARTESIAN_H #if defined CGAL_SIMPLE_CARTESIAN_H template inline RT wmult(Simple_cartesian *, const RT &a, const RT & ) { return a; } template inline RT wmult(Simple_cartesian *, const RT &a, const RT & , const RT & ) { return a; } template inline RT wmult(Simple_cartesian *, const RT &a, const RT & , const RT & , const RT & ) { return a; } template inline RT wmult(Simple_cartesian *, const RT &a, const RT & , const RT & , const RT & , const RT & ) { return a; } #endif // CGAL_SIMPLE_CARTESIAN_H CGAL_END_NAMESPACE #endif // CGAL_WMULT_H