File manager - Edit - /opt/saltstack/salt/lib/python3.10/site-packages/Cryptodome/Util/__pycache__/number.cpython-310.pyc
Back
o ;j�x � @ s d dl Z d dlZd dlZd dlmZ d dlmZ dZdd� Zdd� Z d(dd �Z d(d d�Zd(dd �Zej dd� dkr>e jZndd� Zej dd� dkrPdd� Zndd� Zd(dd�Zd(dd�Zd)dd�Zd*dd�Zd dlZd+dd �Zd!d"� Zd dlZd+d#d$�Zd%d&� Zd'ZdS ),� N)�Random)� iter_rangec C sP |dkrt � �| dk s|dk rtd��t| |�\}}| dkr&|dkr&|d7 }|S )zDReturn ceil(n/d), that is, the smallest integer r such that r*d >= nr zNon positive values� )�ZeroDivisionError� ValueError�divmod)�n�d�r�q� r �J/opt/saltstack/salt/lib/python3.10/site-packages/Cryptodome/Util/number.py�ceil_div% s r c C s | dk rt d��| �� S )z)Returns the size of the number N in bits.r z4Size in bits only available for non-negative numbers)r � bit_length)�Nr r r �size2 s r c C sZ |du rt j}|| d? �}| d }|dkr't|d��d| ? }t�d|�| }t|�}|S )a: Return a random number at most N bits long. If :data:`randfunc` is omitted, then :meth:`Random.get_random_bytes` is used. .. deprecated:: 3.0 This function is for internal use only and may be renamed or removed in the future. Use :func:`Cryptodome.Random.random.getrandbits` instead. N� � r r �B)r �get_random_bytes�ord�struct�pack� bytes_to_long)r �randfunc�SZodd_bitsZ rand_bits�valuer r r �getRandomInteger: s r c C s@ || d }t |�}t||�}||krt||�}||ks| | S )a= Return a random number *n* so that *a <= n < b*. If :data:`randfunc` is omitted, then :meth:`Random.get_random_bytes` is used. .. deprecated:: 3.0 This function is for internal use only and may be renamed or removed in the future. Use :func:`Cryptodome.Random.random.randrange` instead. r )r r )�a�br Zrange_�bitsr r r r �getRandomRangeO s �r! c C s2 t | d |�}|d| d O }t|�| ksJ �|S )a8 Return a random number with exactly N-bits, i.e. a random number between 2**(N-1) and (2**N)-1. If :data:`randfunc` is omitted, then :meth:`Random.get_random_bytes` is used. .. deprecated:: 3.0 This function is for internal use only and may be renamed or removed in the future. r � )r r )r r r r r r �getRandomNBitInteger` s r# r"