Code Duplication    Length = 30-33 lines in 2 locations

dist/arb.js 2 locations

@@ 426-458 (lines=33) @@
423
  }
424
425
  //a adds the integer part of a string
426
  function a(_a, _b) {
427
    var al, bl, i;
428
    //_a and _b are strings
429
    //made of pure integers
430
    al = _a.length;
431
    bl = _b.length;
432
    if (al > bl) {
433
      _b = zero(al - bl) + _b;
434
    } else if (al < bl) {
435
      _a = zero(bl - al) + _a;
436
    }
437
    _a = _a.split("").reverse();
438
    _b = _b.split("").reverse();
439
440
    var carry = 0,
441
      sum = [],
442
      temp = 0;
443
    al = _a.length;
444
    for (i = 0; i < al; i++) {
445
      temp = _a[i] * 1 + _b[i] * 1 + carry;
446
      if (temp >= 10) {
447
        temp -= 10;
448
        carry = 1;
449
      } else {
450
        carry = 0;
451
      }
452
      sum.push(temp + "");
453
    }
454
    if (carry > 0) {
455
      sum.push("1");
456
    }
457
    return sum.reverse().join("");
458
  }
459
460
  //ad adds the decimal part of string
461
  function ad(_a, _b) {
@@ 461-490 (lines=30) @@
458
  }
459
460
  //ad adds the decimal part of string
461
  function ad(_a, _b) {
462
    var al, bl, i;
463
    //_a and _b are are strings
464
    //made of pure integers
465
    al = _a.length;
466
    bl = _b.length;
467
    if (al > bl) {
468
      _b += zero(al - bl);
469
    } else if (al < bl) {
470
      _a += zero(bl - al);
471
    }
472
    _a = _a.split("").reverse();
473
    _b = _b.split("").reverse();
474
475
    var carry = 0,
476
      sum = [],
477
      temp = 0;
478
    al = _a.length;
479
    for (i = 0; i < al; i++) {
480
      temp = _a[i] * 1 + _b[i] * 1 + carry;
481
      if (temp >= 10) {
482
        temp -= 10;
483
        carry = 1;
484
      } else {
485
        carry = 0;
486
      }
487
      sum.push(temp + "");
488
    }
489
    return [sum.reverse().join(""), carry + ""];
490
  }
491
492
  //add is a operator
493
  function ADD(_a, _b) {