B e] @sddlmZddlZejdddlmZddlm Z m Z ddl m Z m Z mZmZddlmZd#d d Zd$d d Zd%ddZd&ddZd'ddZd(ddZd)ddZdd Zd!d"ZdS)*)print_functionN)assert_allclose)givenassume)tupleslistsintegersfloats)arrays cCs t||dS)N) min_value max_value)r)lohir3/tmp/pip-install-b8evvk6i/blis/blis/tests/common.pylengths srdcCstt||dt||dS)N)rr)rr)min_rowsmax_rowsmin_colsmax_colsrrrshapessr@@@float64cCst||t||ddS)N)r r)shapeelements)r r )rrrdtyperrrndarrays_of_shapesr c.Acst||dfddS)N)rrcst|dS)N)rrr)r )n)rmax_valmin_valrrzndarrays..)rflatmap)min_lenmax_lenr%r$rr)rr$r%rndarrayss r+cs"t||||dfddS)N)rrrrcst|dS)N)rrr)r )mn)rrr rrr&!szmatrices..)rr()rrrrr rrr)rrr rmatricess r-j@cCst||d||dS)Nr)r)r*r%r$r)r+)r)r*r$rrrrpositive_ndarrays%s r/jcCst|||d|dS)Ng|۽)r)r*r%r$r)r+)r)r*r%rrrrnegative_ndarrays*s r1cCs|dddf}tj|dddfdd}|ddddf}|jdksLt|jdksZt|jd|jdksrt|jd|jdksttt| tt| tt| ttdd| D ttdd|D ttdd|D |||fS) Nrr r)rcss|]}t|VqdS)N)npisinf).0valrrr >szparse_layer..css|]}t|VqdS)N)r2r3)r4r5rrrr6?scss|]}t|VqdS)N)r2r3)r4r5rrrr6@s) r2ZascontiguousarrayndimAssertionErrorrrisnansumanyflatten) layer_dataxbWrrr parse_layer/srAcCs$|dddf|ddddffS)Nrr)r=rrr split_rowDsrB)r r )r rr r)rrr)rr r!r"r)r r r r r!r"r)rr r.r)rr r0r) __future__rZnumpyr2randomseedZ numpy.testingrZ hypothesisrrZhypothesis.strategiesrrrr Zhypothesis.extra.numpyr rrr r+r-r/r1rArBrrrrs