
    R1i|C                         d Z ddlmZmZmZmZmZmZmZm	Z	m
Z
mZmZmZ ddlmZ dZ	 d Z	 d Z	 d Z	 d	 Z	 d
 Z	 d Z	 d Z	 d Zy)z$Utility routines from "sgp4ext.cpp".    )acosasinhatan2copysigncosfabsfmodpisinsinhsqrttan   )
days2mdhmsNc                 Z    t        | d   | d   z  | d   | d   z  z   | d   | d   z  z         S Nr   r      )r   )xs    L/home/cursorai/projects/iching/venv/lib/python3.12/site-packages/sgp4/ext.pymagr   "   s;    1adQqT!A$Y&1ad233    c                     | d   |d   z  | d   |d   z  z
  |d<   | d   |d   z  | d   |d   z  z
  |d<   | d   |d   z  | d   |d   z  z
  |d<   y )Nr   r   r    )vec1vec2outvecs      r   crossr   =   st    QQ$q'$q'/1VAYQQ$q'$q'/1VAYQQ$q'$q'/1VAYr   c                 H    | d   |d   z  | d   |d   z  z   | d   |d   z  z   S r   r   )r   ys     r   dotr    [   s6    qT!A$Y1ad"QqT!A$Y./r   c                     d}d}t        |       }t        |      }||z  ||z  kD  r7t        | |      ||z  z  }t        |      dkD  rt        d|      }t	        |      S |S )N:0yE>3333~.A      ?)r   r    r   r   r   )r   r   small	undefinedmagv1magv2temps          r   angler*   x   sl    UYYUYUeeEk!4~u-JS$'Td	 	r   c                    d}d}d}t        |       |k  r|}|}n&| d|z
  k  rmt        d| | z  z
        t        |      z  d| t        |      z  z   z  }| t        |      z   d| t        |      z  z   z  }t	        ||      }|| t        |      z  z
  }n| d|z   kD  ru| dkD  rt        |      dz   t
        t        d| z        z
  k  rt        | | z  dz
        t        |      z  d| t        |      z  z   z  }t        |      }| t        |      z  |z
  }n4t        |      dt
        z  dz  k  rt        |dz        }|||z  |z  dz  z   }| dk  r7t        |d	t
        z        }|d
k  r|d	t
        z  z   }t        |d	t
        z        }||fS )N.Ar"   r$   gh㈵>g      e@g     f@      ?g      @       @        )r   r   r   r   r   r
   r   r   r   r   r	   )eccnue0mr%   sinecoses          r   newtonnur6      s    
R	QU 	S	E #e)O3C<)CG3#s3r7{:JLT3r7]CG);=T$t%RCG#Q cEk!#I$r(7"2RS#X5F"F!3s73;1CG;#SQSWBTVT $=RtBx<",Q HuRx~-bfRr"uRxn,Qc	1S"WGS"WQBsBw E\r   c                    g d}g d}g d}g d}dt         z  }dt         z  }d}	d}
d}t        |       }t        |      }t        | ||       t        |      }||	kD  rT|d    |d<   |d   |d<   d	|d
<   t        |      }||z  ||z  z
  }t        | |      }t	        dd      D ]  }|| |   z  |||   z  z
  |z  ||<    t        |      }||z  dz  ||z  z
  }t        |      |	kD  r
| d|z  z  }n|}||z  |z  }|d
   |z  }t        |      }d}||	k  r ||	k  st        |t         z
        |	k  rd}nd}n||	k  st        |t         z
        |	k  rd}||	kD  r;|d   |z  }t        |      dkD  rt        d|      }t        |      }|d   d	k  r||z
  }n|
}|dk(  rt        ||      }|d
   d	k  r||z
  }n|
}|d   dk(  rt        ||       }|d	k  r||z
  }n|
}|dk(  rt        ||       }| d
   d	k  r||z
  }|}n|
}||	kD  rJ|dk(  rE|d   |z  }t        |      dkD  rt        d|      }t        |      }|d   d	k  r||z
  }||kD  r||z
  }n|
}||	kD  rL|dk(  rG| d   |z  }t        |      dkD  rt        d|      }t        |      } | d   d	k  r|| z
  } ||kD  r|| z
  } | }n|
} |d   dk(  r&t        ||      \  }!}n|
}|
}|
}|
}|
}|
}|
}|
}|
}|
} |
}||||||||| |fS )N)NNNr.   r-   r"   r#   r,   r   r   r/   r      eicecieer$   e)
r
   r   r   r    ranger   r   r   r*   r6   )"rvmuhbarnbarebar	typeorbittwopihalfpir%   r&   infinitemagrmagvmaghmagnc1rdotvir0   smeaphkinclr)   omegaargpr1   arglatr3   lonpertruelonr=   s"                                     r   rv2coerZ     s   TTT#YBhUBhVUYX HTHT AaKTu7(a7aaT4i"d("a1+Q!A$wqt+R/T!W D{ T	#RX/#K%S!QQ$Yr\ !WT\Rz %K d2g!6! "
 uT"W 5! 5L7T>TT
S  d+$LUQ# U 4%TQ#t| T aLC$q>RRZ R T!oV!s
Q V %KI-73;TT
S  d+4\VQ#v V 5LY$.Q49TT
S  d+DlW!s
'/v'/Q  W aLCS"%TQ q#tUD"a&HHr   c                 x    d| z  d| |dz   dz  z   z  dz  dz  z
  d|z  dz  z   |z   dz   |d	z  |z   d	z  |z   d
z  z   S )Ng     v@g      @g      "@g      (@      ?r$   g     0q@g   B:Ag      N@g      8@r   )yearmondayhrminutesecs         r   jdayrc     sz    
$,
#),-
.
5
<=
#+
   $J4'",
4	5 r   c                    | dz
  }|dz  }dt        |dz        z   }t        |dz
  dz  dz        }||dz
  dz  |z   z
  dz   }|dk  r'|d	z
  }t        |dz
  dz  dz        }||dz
  dz  |z   z
  }t        ||d       \  }}}}	}
|
d
z
  }
|||||	|
fS )Ng   lBAg     v@il  r$   im  r\   g     v@gdy=r   g>)intr   )jdr)   tur]   leapyrsdaysr^   r_   r`   ra   rb   s              r   invjdayrj     s     I~Tf}Rc")n$TTD[D(S01W tu,w67-GT 
!8,45D4K507:; ",D$!=S#r63S#sB++r   )__doc__mathr   r   r   r   r   r   r	   r
   r   r   r   r   	functionsr   r&   r   r   r    r*   r6   rZ   rc   rj   r   r   r   <module>rn      s|    *, , , , !	0503
214$#J.b9vZIx!F(T,r   