/usr/include/boost/geometry/formulas
NameSizeModeActions
andoyer_inverse.hpp99090644editdlrm
area_formulas.hpp218970644editdlrm
authalic_radius_sqr.hpp26540644editdlrm
differential_quantities.hpp109760644editdlrm
eccentricity_sqr.hpp19590644editdlrm
flattening.hpp18470644editdlrm
geographic.hpp142510644editdlrm
gnomonic_intersection.hpp49050644editdlrm
gnomonic_spheroid.hpp39890644editdlrm
interpolate_point_spherical.hpp35860644editdlrm
karney_direct.hpp100630644editdlrm
karney_inverse.hpp351300644editdlrm
mean_radius.hpp18940644editdlrm
meridian_direct.hpp51390644editdlrm
meridian_inverse.hpp47820644editdlrm
meridian_segment.hpp20090644editdlrm
quarter_meridian.hpp31740644editdlrm
result_direct.hpp8790644editdlrm
result_inverse.hpp9030644editdlrm
sjoberg_intersection.hpp430990644editdlrm
spherical.hpp87880644editdlrm
thomas_direct.hpp92560644editdlrm
thomas_inverse.hpp77680644editdlrm
unit_spheroid.hpp11990644editdlrm
vertex_latitude.hpp44890644editdlrm
vertex_longitude.hpp106130644editdlrm
vincenty_direct.hpp71050644editdlrm
vincenty_inverse.hpp82540644editdlrm
Edit: /usr/include/boost/geometry/formulas/authalic_radius_sqr.hpp (2654B)
// Boost.Geometry // Copyright (c) 2017 Oracle and/or its affiliates. // Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle // Use, modification and distribution is subject to the Boost Software License, // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at // http://www.boost.org/LICENSE_1_0.txt) #ifndef BOOST_GEOMETRY_FORMULAS_AUTHALIC_RADIUS_SQR_HPP #define BOOST_GEOMETRY_FORMULAS_AUTHALIC_RADIUS_SQR_HPP #include #include #include #include #include #include #include namespace boost { namespace geometry { #ifndef DOXYGEN_NO_DISPATCH namespace formula_dispatch { template ::type> struct authalic_radius_sqr : not_implemented {}; template struct authalic_radius_sqr { static inline ResultType apply(Geometry const& geometry) { return math::sqr(get_radius<0>(geometry)); } }; template struct authalic_radius_sqr { static inline ResultType apply(Geometry const& geometry) { ResultType const a2 = math::sqr(get_radius<0>(geometry)); ResultType const e2 = formula::eccentricity_sqr(geometry); return apply(a2, e2); } static inline ResultType apply(ResultType const& a2, ResultType const& e2) { ResultType const c0 = 0; if (math::equals(e2, c0)) { return a2; } ResultType const e = math::sqrt(e2); ResultType const c2 = 2; //ResultType const b2 = math::sqr(get_radius<2>(geometry)); //return a2 / c2 + b2 * boost::math::atanh(e) / (c2 * e); ResultType const c1 = 1; return (a2 / c2) * ( c1 + (c1 - e2) * boost::math::atanh(e) / e ); } }; } // namespace formula_dispatch #endif // DOXYGEN_NO_DISPATCH #ifndef DOXYGEN_NO_DETAIL namespace formula { template inline ResultType authalic_radius_sqr(Geometry const& geometry) { return formula_dispatch::authalic_radius_sqr::apply(geometry); } } // namespace formula #endif // DOXYGEN_NO_DETAIL }} // namespace boost::geometry #endif // BOOST_GEOMETRY_FORMULAS_AUTHALIC_RADIUS_SQR_HPP