1 35 37 package com.google.gwt.dev.js.rhino; 38 39 final class BinaryDigitReader { 40 int lgBase; int digit; int digitPos; String digits; int start; int end; 47 BinaryDigitReader(int base, String digits, int start, int end) { 48 lgBase = 0; 49 while (base != 1) { 50 lgBase++; 51 base >>= 1; 52 } 53 digitPos = 0; 54 this.digits = digits; 55 this.start = start; 56 this.end = end; 57 } 58 59 60 int getNextBinaryDigit() 61 { 62 if (digitPos == 0) { 63 if (start == end) 64 return -1; 65 66 char c = digits.charAt(start++); 67 if ('0' <= c && c <= '9') 68 digit = c - '0'; 69 else if ('a' <= c && c <= 'z') 70 digit = c - 'a' + 10; 71 else digit = c - 'A' + 10; 72 digitPos = lgBase; 73 } 74 return digit >> --digitPos & 1; 75 } 76 } 77 | Popular Tags |