65 lines (64 with data), 4.4 kB
B
/®eð ã @ s d dl mZ d dlZd dlZd dlmZ d dlm m
Z d dlmZ d dl
Z
d dlZd dlZdddZdd
dZdddZdddZdddZdS )é )ÚlabelN)Úone_hotc sV |pt d| ¡d }t td| |¡d| g t ¡ fddtt d D S )z*
generate num_tersm with sum as n
é é r c s g | ]} |d | qS )r © )Ú.0Úi)Úar úB/Users/hanxuegu/Documents/Documents/bone/bone_paper_codes/funcs.pyú
<listcomp> s z!random_sum_to.<locals>.<listcomp>)ÚrÚrandintÚrandomÚsampleÚrangeÚlistÚsortÚlen)ÚnÚ num_termsr )r r
Ú
random_sum_to
s
r ç333333Ó?é é r c C s |dkrt d|¡}t| ddd\}}g g }}xPtd|d D ]>} t || kdd¡}
t |
¡t | ¡ }| |¡ | | ¡ q@W t|dkr²t t
t || \}}|ddd
}|dkrÔd}t |¡g}dg}nt|dd
d
kr:t|
d¡d }
t|
t|}||k rt||}n
|dg }|dt||
}nt|dg }g }t |¡}x0tt|D ]}t ||| kdd¡}
t |
|¡}t t |
dd
¡¡}tj|tjdd tj¡dd
dd
f }t
| ¡ ¡ ddd
}t |¡}t|t|t |dk¡ d}t ||k¡\}}x`|| dkrtj dt|¡}t|| t|| }}| ||df¡ || d8 <