/************************************************************* * exp3c5x_1.c - This program is used in Section 3.7.3.1 *************************************************************/ #include <stdio.h> #include <stdlib.h> #include <math.h> #include <intrindefs.h> /************************************************************* * Define variable arrays and variables *************************************************************/ int num_q15[4] = {16384, 8192, 4096, 2048}; int num_q14[4] = {8192, 4096, 2048, 1024}; int num_q13[4] = {4096, 2048, 1024, 512}; int sum_q15, sum_q1_14, sum_q2_13; int i; void main() { /* Using _sadd with OVM turn on */ sum_q15 = num_q15[0]; // Q15 format for (i=0; i<3 ; i++) { sum_q15 = _sadd(num_q15[i+1],sum_q15); } sum_q1_14 = num_q14[0]; // Q14 format for (i=0; i<3 ; i++) { sum_q1_14 = _sadd(num_q14[i+1],sum_q1_14); } sum_q2_13 = num_q13[0]; // Q13 format for (i=0; i<3 ; i++) { sum_q2_13 = _sadd(num_q13[i+1],sum_q2_13); } }