| 492 | } |
| 493 | |
| 494 | void LASbin::add_to_bin(I32 bin) |
| 495 | { |
| 496 | #pragma warning(push) |
| 497 | #pragma warning(disable : 6011) |
| 498 | if (first) |
| 499 | { |
| 500 | anker = bin; |
| 501 | first = FALSE; |
| 502 | } |
| 503 | bin = bin - anker; |
| 504 | if (bin >= 0) |
| 505 | { |
| 506 | if (bin >= size_pos) |
| 507 | { |
| 508 | I32 i; |
| 509 | if (size_pos == 0) |
| 510 | { |
| 511 | size_pos = bin + 1024; |
| 512 | bins_pos = (U32*)malloc_las(sizeof(U32) * size_pos); |
| 513 | if (bins_pos == 0) |
| 514 | { |
| 515 | laserror("allocating %u pos bins", size_pos); |
| 516 | byebye(); |
| 517 | } |
| 518 | for (i = 0; i < size_pos; i++) bins_pos[i] = 0; |
| 519 | } |
| 520 | else |
| 521 | { |
| 522 | I32 new_size = bin + 1024; |
| 523 | bins_pos = (U32*)realloc_las(bins_pos, sizeof(U32)*new_size); |
| 524 | if (bins_pos == 0) |
| 525 | { |
| 526 | laserror("reallocating %u pos bins", new_size); |
| 527 | byebye(); |
| 528 | } |
| 529 | for (i = size_pos; i < new_size; i++) bins_pos[i] = 0; |
| 530 | size_pos = new_size; |
| 531 | } |
| 532 | } |
| 533 | bins_pos[bin]++; |
| 534 | } |
| 535 | else |
| 536 | { |
| 537 | bin = -(bin+1); |
| 538 | if (bin >= size_neg) |
| 539 | { |
| 540 | I32 i; |
| 541 | if (size_neg == 0) |
| 542 | { |
| 543 | size_neg = bin + 1024; |
| 544 | bins_neg = (U32*)malloc_las(sizeof(U32) * size_neg); |
| 545 | if (bins_neg == 0) |
| 546 | { |
| 547 | laserror("allocating %u neg bins", size_neg); |
| 548 | byebye(); |
| 549 | } |
| 550 | for (i = 0; i < size_neg; i++) bins_neg[i] = 0; |
| 551 | } |
nothing calls this directly
no test coverage detected