int bitsLength = bits.length;\r
if (word >= bitsLength) return -1;\r
long bitsAtWord = bits[word];\r
- for (int i = fromIndex & 0x3f; i < 64; i++) {\r
- if ((bitsAtWord & (1L << (i & 0x3F))) != 0L) {\r
- return (word << 6) + i;\r
+ if (bitsAtWord != 0) {\r
+ for (int i = fromIndex & 0x3f; i < 64; i++) {\r
+ if ((bitsAtWord & (1L << (i & 0x3F))) != 0L) {\r
+ return (word << 6) + i;\r
+ }\r
}\r
}\r
for (word++; word < bitsLength; word++) {\r
if (word != 0) {\r
bitsAtWord = bits[word];\r
- for (int i = 0; i < 64; i++) {\r
- if ((bitsAtWord & (1L << (i & 0x3F))) != 0L) {\r
- return (word << 6) + i;\r
+ if (bitsAtWord != 0) {\r
+ for (int i = 0; i < 64; i++) {\r
+ if ((bitsAtWord & (1L << (i & 0x3F))) != 0L) {\r
+ return (word << 6) + i;\r
+ }\r
}\r
}\r
}\r