given a location (loc) and an original array (orig), paste a block array into it
(orig, block, loc)
| 2213 | |
| 2214 | |
| 2215 | def paste(orig, block, loc): |
| 2216 | """ |
| 2217 | given a location (loc) and an original array (orig), paste a block array into it |
| 2218 | """ |
| 2219 | loc_zip = zip(loc, block.shape, orig) |
| 2220 | orig_slices, block_slices = zip(*map(paste_slices, loc_zip)) |
| 2221 | |
| 2222 | orig[:, orig_slices[0]] = block[block_slices[0]] |
| 2223 | |
| 2224 | if orig.shape[0] == 1: |
| 2225 | orig = orig.squeeze() |
| 2226 | return orig |
| 2227 | |
| 2228 | |
| 2229 | def squarepulse(sig, duty: float = 0.5): |