o
    ±p©iM
  ã                   @   sX   d dl mZ dd„ Zdd„ Zdd„ Zdd	„ Zd
d„ Zdd„ Zdd„ Zdd„ Z	dd„ Z
dS )é    )Úsqrtc                   C   sD   t dƒ t dƒ t dƒ t dƒ t dƒ t dƒ t dƒ t dƒ d S )	Nz9'primes.check(n)' returns 'True' if 'n' is a prime numberz9'primes.factor(n)' returns the lowest prime factor of 'n'zI'primes.facors(n)' returns all the prime factors of 'n' with multiplicityz/'primes.first(n)' returns first 'n' many primeszA'primes.upto(n)' returns all the primes less than or equal to 'n'z@'primes.between(m,n)' returns all the primes between 'm' and 'n'z*'primes.phi(n)' returns the Euler's phi(n)zDi.e., the number of integers less than n which have no common factor)Úprint© r   r   úB/home/ubuntu/.local/lib/python3.10/site-packages/primePy/primes.pyÚabout   s   r   c                 C   sN   | dks
| d dkrdS t dtt| ƒƒd dƒD ]}| | dkr$|  S q| S )Né   r   é   é   )ÚrangeÚintr   )ÚnumÚir   r   r   Úfactor   s   ÿr   c                 C   s   t | ƒ| krdS dS )NTF©r   )r   r   r   r   Úcheck   s   r   c                 C   sD   t | ƒ}| | }|g}|dkr t |ƒ}||g7 }|| }|dks|S ©Nr	   r   )r   ÚfactÚnew_numÚfactorsr   r   r   r   #   s   
ýr   c                 C   s2   | }t | ƒ}t|ƒ}|D ]
}|| |d  }q|S r   )r   Úset)r   ÚvalÚlistÚsetsr   r   r   r   Úphi-   s   r   c                 C   s\   | dgkr	d}|S | d d }d}|dkr,| D ]}|| dkr%|d } nqd}|dks|S )Nr   r   éÿÿÿÿr   r	   r   )r   ÚaÚfoundr   r   r   r   Ú__next_prime6   s   
÷þúr   c                 C   s4   dg}t |ƒ| k rt|ƒ}||g7 }t |ƒ| k s	|S )Nr   )Úlenr   ©Únr   Ú	new_entryr   r   r   ÚfirstF   s   
þr"   c                 C   sL   dg}|d | k rt |ƒ}||g7 }|d | k s	|d | kr$|d d… }|S )Nr   r   )r   r   r   r   r   ÚuptoM   s   
þr#   c                 C   sP   d}g }| d dkrd}nd}t | | |dƒD ]}t|ƒr#||g7 }q|}q|S )Nr   r   r	   )r
   r   )Úmr    ÚdÚxr   r   r   r   ÚbetweenV   s   r'   N)Úmathr   r   r   r   r   r   r   r"   r#   r'   r   r   r   r   Ú<module>   s   

		