def zdivide(a, b, null=<NUM_LIT:0>):
(a,b) = unbroadcast(a,b)<EOL>return czdivide(a,b, null=null)<EOL>
zdivide(a, b) returns the quotient a / b as a numpy array object. Unlike numpy's divide function
  or a/b syntax, zdivide will thread over the earliest dimension possible; thus if a.shape is
  (4,2) and b.shape is 4, zdivide(a,b) is a equivalent to [ai*zinv(bi) for (ai,bi) in zip(a,b)].

The optional argument null (default: 0) may be given to specify that zeros in the arary b should
instead be replaced with the given value in the result. Note that if this value is not equal to
0, then any sparse array passed as argument b must be reified.

The zdivide function never raises an error due to divide-by-zero; if you desire this behavior,
use the divide function instead.

Note that zdivide(a,b, null=z) is not quite equivalent to a*zinv(b, null=z) unless z is 0; if z
is not zero, then the same elements that are zet to z in zinv(b, null=z) are set to z in the
result of zdivide(a,b, null=z) rather than the equivalent element of a times z.