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