• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1if (typeof T === 'undefined') require('../setup');
2
3T('ceil', function () {
4
5  function t(expected, n) {
6    T.assertEqual(expected, new Decimal(n).ceil().valueOf());
7  }
8
9  Decimal.config({
10    precision: 20,
11    rounding: 4,
12    toExpNeg: -100,
13    toExpPos: 100,
14    minE: -9e15,
15    maxE: 9e15
16  });
17
18  t('0', 0);
19  t('-0', -0);
20  t('Infinity', Infinity);
21  t('-Infinity', -Infinity);
22  t('NaN', NaN);
23
24  t('1', 0.1);
25  t('1', '0.4999999999999999');
26  t('1', 0.5);
27  t('1', 0.7);
28  t('-0', -0.1);
29  t('-0', '-0.4999999999999999');
30  t('-0', -0.5);
31  t('-0', -0.7);
32  t('1', 1);
33  t('2', 1.1);
34  t('2', 1.5);
35  t('2', 1.7);
36  t('-1', -1);
37  t('-1', -1.1);
38  t('-1', -1.5);
39  t('-1', -1.7);
40
41  t('-0', '-0.999');
42  t('2', '1.0000000000000000001');
43  t('2', '1.0000000000000000000000000000000000000000000000000000000000000000000000000000001');
44  t('1', '1e-9000000000000000');
45  t('-0', '-1e-9000000000000000');
46  t('-0', '-9.9e-9000000000000001');
47  t('9.999999e+9000000000000000', '9.999999e+9000000000000000');
48  t('-9.999999e+9000000000000000', '-9.999999e+9000000000000000');
49  t('-Infinity', '-1e+9000000000000001');
50  t('5.5879983320336874473209567979e+287894365', '5.5879983320336874473209567979e+287894365');
51  t('-5.5879983320336874473209567979e+287894365', '-5.5879983320336874473209567979e+287894365');
52
53  t('-2075364', '-2075364.364286541923');
54  t('60593539780450631', '60593539780450631');
55  t('65937898671515', '65937898671515');
56  t('-39719494751819198566798', '-39719494751819198566798.578');
57  t('92627382695288166557', '92627382695288166556.8683774524284866028260448205069');
58  t('-881574', '-881574');
59  t('-3633239209', '-3633239209.654526163275621746013315304191073405508491056');
60  t('321978830777554620127500540', '321978830777554620127500539.339278568133088682532238002577');
61  t('2074', '2073.532654804291079327244387978249477171032485250998396');
62  t('677676305592', '677676305591.2');
63  t('1', '0.0000000000006');
64  t('39181479479778357', '39181479479778357');
65  t('1', '0.00000000000000000087964700066672916651');
66  t('896', '896');
67  t('115083055948552475', '115083055948552475');
68  t('9105942082143427451223', '9105942082143427451223');
69  t('276312604693909858428', '276312604693909858427.21965306055697011390137926559');
70  t('1', '0.0000252');
71});
72