Add 2D binary indexed trees
[algorithm-bit-xs.git] / t / Algorithm-BIT-XS.t
CommitLineData
0e4f7002
MG
1#!/usr/bin/perl
2use strict;
3use warnings;
4
0c7cf8e9 5use Test::More tests => 17;
0e4f7002 6BEGIN { use_ok('Algorithm::BIT::XS') };
0c7cf8e9 7BEGIN { use_ok('Algorithm::BIT2D::XS') };
0e4f7002
MG
8
9my $bit = Algorithm::BIT::XS->new(100);
10is $bit->query(5), 0;
11$bit->update(4, 2);
12$bit->update(5, 3);
13is $bit->query(3), 0;
14is $bit->query(4), 2;
15is $bit->query(5), 5;
16is $bit->query(6), 5;
17
18$bit->update(5, -3);
19is $bit->query(5), 2;
20
21$bit->update(17, 50);
22is $bit->query(25), 52;
23is $bit->get(25), 0;
24
25$bit->set(17, 30);
26is $bit->query(25), 32;
27is $bit->get(17), 30;
28
29$bit->clear;
30$bit->set(16,10);
31is $bit->query(15), 0;
32is $bit->query(16), 10;
0c7cf8e9
MG
33
34
35my $bit2d = Algorithm::BIT2D::XS->new(100, 50);
36is $bit2d->query(5, 5), 0;
37$bit2d->update(4, 4, 2);
38$bit2d->update(5, 1, 3);
39is $bit2d->query(5, 5), 5;
40is $bit2d->query(5, 2), 3;
This page took 0.011298 seconds and 4 git commands to generate.