Lines Matching defs:len
41 int RoundUpLen(int len) {
42 if (len <= 36) return RoundUp(len, 2);
44 int shift = BitLength(len) - 5;
45 if ((len >> shift) >= 0x18) {
51 if (shift >= 2 && (len & additive) < (1 << (shift - 2))) {
52 return len;
54 return ((len + additive) >> shift) << shift;
79 for (; i < Y.len(); i++) {
82 for (; i < X.len(); i++) {
86 for (; i < result.len(); i++) result[i] = 0;
92 DCHECK(X.len() >= Y.len());
93 DCHECK(Y.len() >= kKaratsubaThreshold);
94 DCHECK(Z.len() >= X.len() + Y.len());
95 int k = KaratsubaLength(Y.len());
107 for (int i = 2 * k; i < Z.len(); i++) Z[i] = 0;
108 if (k < Y.len() || X.len() != Y.len()) {
112 Digits Y1 = Y + std::min(k, Y.len());
113 if (Y1.len() > 0) {
121 for (int i = k; i < X.len(); i += k) {
126 if (Y1.len() > 0) {
141 if (X.len() == 0 || Y.len() == 0) return Z.Clear();
142 if (X.len() < Y.len()) std::swap(X, Y);
143 if (Y.len() == 1) return MultiplySingle(Z, X, Y[0]);
144 if (Y.len() < kKaratsubaThreshold) return MultiplySchoolbook(Z, X, Y);
145 int k = KaratsubaLength(Y.len());
146 DCHECK(scratch.len() >= 4 * k);
156 if (X.len() >= Y.len()) {
162 DCHECK(scratch.len() >= 4 * n);
178 int end = std::min(Z2.len(), P2.len());