question: public static long [ ] andCMin ( long [ ] v , long [ ] o ) { final int min = Math . min ( v . length , o . length ) ; long [ ] out = new long [ min ] ; int i = 0 ; for ( ; i < min ; i ++ ) { out [ i ] = v [ i ] & o [ i ] ; } return out ; }
target:  AND o onto v in a copy, i.e. v & o The resulting array will have the shorter length of the two.