zephyr/tests/kernel/common/src/intmath.c
David B. Kinder ac74d8b652 license: Replace Apache boilerplate with SPDX tag
Replace the existing Apache 2.0 boilerplate header with an SPDX tag
throughout the zephyr code tree. This patch was generated via a
script run over the master branch.

Also updated doc/porting/application.rst that had a dependency on
line numbers in a literal include.

Manually updated subsys/logging/sys_log.c that had a malformed
header in the original file.  Also cleanup several cases that already
had a SPDX tag and we either got a duplicate or missed updating.

Jira: ZEP-1457

Change-Id: I6131a1d4ee0e58f5b938300c2d2fc77d2e69572c
Signed-off-by: David B. Kinder <david.b.kinder@intel.com>
Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2017-01-19 03:50:58 +00:00

33 lines
682 B
C

/*
* Copyright (c) 2015 Wind River Systems, Inc.
*
* SPDX-License-Identifier: Apache-2.0
*/
#include <ztest.h>
void intmath_test(void)
{
/*
* Declaring volatile so the compiler doesn't try to optimize any
* of the math away at build time
*/
volatile uint64_t bignum, ba, bb;
volatile uint32_t num, a, b;
ba = 0x00000012ABCDEF12ULL;
bb = 0x0000001000000111ULL;
bignum = ba * bb;
assert_true((bignum == 0xbcdf0509369bf232ULL), "64-bit multiplication failed");
a = 30000;
b = 5872;
num = a * b;
assert_true((num == 176160000), "32-bit multiplication failed");
a = 234424432;
b = 98982;
num = a / b;
assert_true((num == 2368), "32-bit division failed");
}