Coverage for pygeodesy/auxilats/_CX_4.py: 100%
6 statements
« prev ^ index » next coverage.py v7.6.1, created at 2025-01-10 16:55 -0500
« prev ^ index » next coverage.py v7.6.1, created at 2025-01-10 16:55 -0500
2# -*- coding: utf-8 -*-
4u'''Coefficients for C{_AUXLATITUDE_ORDER} 4 from I{Karney}'s C++ class U{AuxLatitude
5<https://GeographicLib.SourceForge.io/C++/doc/classGeographicLib_1_1AuxLatitude.html>}
6transcoded to a Python C{_Rdict[auxout][auxin]} of C{_Rtuple}s.
8Copyright (C) Charles Karney (2022-2024) Karney@Alum.MIT.edu> and licensed under the
9MIT/X11 License. For more information, see <https:#GeographicLib.SourceForge.io>.
10'''
11from pygeodesy.auxilats.auxily import Aux
12from pygeodesy.auxilats._CX_Rs import _Rcoeffs, _Rdict, _Rtuple
14__all__ = ()
15__version__ = '24.09.03'
17_coeffs_4 = _Rcoeffs(4, { # GEOGRAPHICLIB_AUXLATITUDE_ORDER == 4
18 Aux.PHI: _Rdict(38,
19 # C[phi,phi] skipped
20 _Rtuple(Aux.BETA, 6, # C[phi,beta]; even coeffs only
21 '0, 1, 0, 1/2, 1/3, 1/4'),
22 _Rtuple(Aux.THETA, 6, # C[phi,theta]; even coeffs only
23 '-2, 2, -4, 2, 8/3, 4'),
24 _Rtuple(Aux.MU, 6, # C[phi,mu]; even coeffs only
25 '-27/32, 3/2, -55/32, 21/16, 151/96, 1097/512'),
26 _Rtuple(Aux.CHI, 10, # C[phi,chi]
27 '116/45, -2, -2/3, 2, -227/45, -8/5',
28 '7/3, -136/35, 56/15, 4279/630'),
29 _Rtuple(Aux.XI, 10, # C[phi,xi]
30 '-2582/14175, -16/35, 4/45, 4/3, -11966/14175',
31 '152/945, 46/45, 3802/14175, 3044/2835, 6059/4725')
32 ),
33 Aux.BETA: _Rdict(38,
34 _Rtuple(Aux.PHI, 6, # C[beta,phi]; even coeffs only
35 '0, -1, 0, 1/2, -1/3, 1/4'),
36 # C[beta,beta] skipped
37 _Rtuple(Aux.THETA, 6, # C[beta,theta]; even coeffs only
38 '0, 1, 0, 1/2, 1/3, 1/4'),
39 _Rtuple(Aux.MU, 6, # C[beta,mu]; even coeffs only
40 '-9/32, 1/2, -37/96, 5/16, 29/96, 539/1536'),
41 _Rtuple(Aux.CHI, 10, # C[beta,chi]
42 '38/45, -1/3, -2/3, 1, -7/9, -14/15',
43 '5/6, -34/21, 16/15, 2069/1260'),
44 _Rtuple(Aux.XI, 10, # C[beta,xi]
45 '-1082/14175, -46/315, 4/45, 1/3, -338/2025',
46 '68/945, 17/90, 1102/14175, 461/2835, 3161/18900')
47 ),
48 Aux.THETA: _Rdict(38,
49 _Rtuple(Aux.PHI, 6, # C[theta,phi]; even coeffs only
50 '2, -2, -4, 2, -8/3, 4'),
51 _Rtuple(Aux.BETA, 6, # C[theta,beta]; even coeffs only
52 '0, -1, 0, 1/2, -1/3, 1/4'),
53 # C[theta,theta] skipped
54 _Rtuple(Aux.MU, 6, # C[theta,mu]; even coeffs only
55 '-23/32, -1/2, -5/96, 5/16, 1/32, 283/1536'),
56 _Rtuple(Aux.CHI, 10, # C[theta,chi]
57 '4/9, -2/3, -2/3, 0, -23/45',
58 '-4/15, 1/3, -24/35, 2/5, 83/126'),
59 _Rtuple(Aux.XI, 10, # C[thet',a,xi]
60 '-2102/14175, -158/315, 4/45, -2/3, 934/14175',
61 '-16/945, 16/45, 922/14175, -232/2835, 719/4725')
62 ),
63 Aux.MU: _Rdict(38,
64 _Rtuple(Aux.PHI, 6, # C[mu,phi]; even coeffs only
65 '9/16, -3/2, -15/32, 15/16, -35/48, 315/512'),
66 _Rtuple(Aux.BETA, 6, # C[mu,beta]; even coeffs only
67 '3/16, -1/2, 1/32, -1/16, -1/48, -5/512'),
68 _Rtuple(Aux.THETA, 6, # C[mu,theta]; even coeffs only
69 '13/16, 1/2, 33/32, -1/16, -5/16, -261/512'),
70 # C[mu,mu] skipped
71 _Rtuple(Aux.CHI, 10, # C[mu,chi]
72 '41/180, 5/16, -2/3, 1/2, 557/1440',
73 '-3/5, 13/48, -103/140, 61/240, 49561/161280'),
74 _Rtuple(Aux.XI, 10, # C[mu,xi]
75 '-1609/28350, 121/1680, 4/45, -1/6, 16463/453600',
76 '26/945, -29/720, 449/28350, -1003/45360, -40457/2419200')
77 ),
78 Aux.CHI: _Rdict(50,
79 _Rtuple(Aux.PHI, 10, # C[chi,phi]
80 '-82/45, 4/3, 2/3, -2, -13/9',
81 '-16/15, 5/3, 34/21, -26/15, 1237/630'),
82 _Rtuple(Aux.BETA, 10, # C[chi,beta]
83 '-16/45, 0, 2/3, -1, 19/45',
84 '-2/5, 1/6, 16/105, -1/15, 17/1260'),
85 _Rtuple(Aux.THETA, 10, # C[chi,theta]
86 '-2/9, 2/3, 2/3, 0, 43/45',
87 '4/15, -1/3, 2/105, -2/5, -55/126'),
88 _Rtuple(Aux.MU, 10, # C[chi,mu]
89 '1/360, -37/96, 2/3, -1/2, 437/1440',
90 '-1/15, -1/48, 37/840, -17/480, -4397/161280'),
91 # C[chi,chi] skipped
92 _Rtuple(Aux.XI, 10, # C[chi,xi]
93 '-2312/14175, -88/315, 34/45, -2/3, 6079/14175',
94 '-184/945, 1/45, 772/14175, -106/2835, -167/9450')
95 ),
96 Aux.XI: _Rdict(50,
97 _Rtuple(Aux.PHI, 10, # C[xi,phi]
98 '538/4725, 88/315, -4/45, -4/3, -2482/14175',
99 '8/105, 34/45, -898/14175, -1532/2835, 6007/14175'),
100 _Rtuple(Aux.BETA, 10, # C[xi,beta]
101 '34/675, 32/315, -4/45, -1/3, 74/2025',
102 '-4/315, -7/90, 2/14175, -83/2835, -797/56700'),
103 _Rtuple(Aux.THETA, 10, # C[xi,theta]
104 '778/4725, 62/105, -4/45, 2/3, 12338/14175',
105 '-32/315, 4/45, -1618/14175, -524/2835, -5933/14175'),
106 _Rtuple(Aux.MU, 10, # C[xi,mu]
107 '1297/18900, -817/10080, -4/45, 1/6, -29609/453600',
108 '-2/35, 49/720, -2917/56700, 4463/90720, 331799/7257600'),
109 _Rtuple(Aux.CHI, 10, # C[xi,chi]
110 '2458/4725, 46/315, -34/45, 2/3, 3413/14175',
111 '-256/315, 19/45, -15958/14175, 248/567, 16049/28350') # PYCHOK exported
112 # C[xi,xi] skipped
113 )
114})
115# _ptrs_4 = (0, 0, 6, 12, 18, 28, 38, 44, 44, 50, 56, 66,
116# 76, 82, 88, 88, 94, 104, 114, 120, 126, 132, 132, 142,
117# 152, 162, 172, 182, 192, 192, 202, 212, 222, 232, 242, 252,
118# 252) # PYCHOK exported
119del _Rcoeffs, _Rdict, _Rtuple
121# **) MIT License
122#
123# Copyright (C) 2023-2025 -- mrJean1 at Gmail -- All Rights Reserved.
124#
125# Permission is hereby granted, free of charge, to any person obtaining a
126# copy of this software and associated documentation files (the "Software"),
127# to deal in the Software without restriction, including without limitation
128# the rights to use, copy, modify, merge, publish, distribute, sublicense,
129# and/or sell copies of the Software, and to permit persons to whom the
130# Software is furnished to do so, subject to the following conditions:
131#
132# The above copyright notice and this permission notice shall be included
133# in all copies or substantial portions of the Software.
134#
135# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
136# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
137# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
138# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
139# OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
140# ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
141# OTHER DEALINGS IN THE SOFTWARE.