* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
+#define __STDC_LIMIT_MACROS
+#include <stdint.h>
+
#include <boost/test/unit_test.hpp>
#include "../logicdatasnapshot.h"
delete[] (uint8_t*)logic.data;
}
+BOOST_AUTO_TEST_CASE(Pow2)
+{
+ BOOST_CHECK_EQUAL(LogicDataSnapshot::pow2_ceil(-2, 0), -2);
+ BOOST_CHECK_EQUAL(LogicDataSnapshot::pow2_ceil(-1, 0), -1);
+ BOOST_CHECK_EQUAL(LogicDataSnapshot::pow2_ceil(0, 0), 0);
+ BOOST_CHECK_EQUAL(LogicDataSnapshot::pow2_ceil(1, 0), 1);
+ BOOST_CHECK_EQUAL(LogicDataSnapshot::pow2_ceil(2, 0), 2);
+
+ BOOST_CHECK_EQUAL(
+ LogicDataSnapshot::pow2_ceil(INT64_MIN, 0), INT64_MIN);
+ BOOST_CHECK_EQUAL(
+ LogicDataSnapshot::pow2_ceil(INT64_MAX, 0), INT64_MAX);
+
+ BOOST_CHECK_EQUAL(LogicDataSnapshot::pow2_ceil(-3, 1), -2);
+ BOOST_CHECK_EQUAL(LogicDataSnapshot::pow2_ceil(-2, 1), -2);
+ BOOST_CHECK_EQUAL(LogicDataSnapshot::pow2_ceil(-1, 1), 0);
+ BOOST_CHECK_EQUAL(LogicDataSnapshot::pow2_ceil(0, 1), 0);
+ BOOST_CHECK_EQUAL(LogicDataSnapshot::pow2_ceil(1, 1), 2);
+ BOOST_CHECK_EQUAL(LogicDataSnapshot::pow2_ceil(2, 1), 2);
+ BOOST_CHECK_EQUAL(LogicDataSnapshot::pow2_ceil(3, 1), 4);
+}
+
BOOST_AUTO_TEST_CASE(Basic)
{
// Create an empty LogicDataSnapshot object