qemu

FORK: QEMU emulator
git clone https://git.neptards.moe/neptards/qemu.git
Log | Files | Refs | Submodules | LICENSE

vector_add_int.c (1458B)


      1 /*
      2  *  Copyright(c) 2019-2021 Qualcomm Innovation Center, Inc. All Rights Reserved.
      3  *
      4  *  This program is free software; you can redistribute it and/or modify
      5  *  it under the terms of the GNU General Public License as published by
      6  *  the Free Software Foundation; either version 2 of the License, or
      7  *  (at your option) any later version.
      8  *
      9  *  This program is distributed in the hope that it will be useful,
     10  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
     11  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     12  *  GNU General Public License for more details.
     13  *
     14  *  You should have received a copy of the GNU General Public License
     15  *  along with this program; if not, see <http://www.gnu.org/licenses/>.
     16  */
     17 
     18 #include <stdio.h>
     19 
     20 int gA[401];
     21 int gB[401];
     22 int gC[401];
     23 
     24 void vector_add_int()
     25 {
     26   int i;
     27   for (i = 0; i < 400; i++) {
     28     gA[i] = gB[i] + gC[i];
     29   }
     30 }
     31 
     32 int main()
     33 {
     34   int error = 0;
     35   int i;
     36   for (i = 0; i < 400; i++) {
     37     gB[i] = i * 2;
     38     gC[i] = i * 3;
     39   }
     40   gA[400] = 17;
     41   vector_add_int();
     42   for (i = 0; i < 400; i++) {
     43     if (gA[i] != i * 5) {
     44         error++;
     45         printf("ERROR: gB[%d] = %d\t", i, gB[i]);
     46         printf("gC[%d] = %d\t", i, gC[i]);
     47         printf("gA[%d] = %d\n", i, gA[i]);
     48     }
     49   }
     50   if (gA[400] != 17) {
     51     error++;
     52     printf("ERROR: Overran the buffer\n");
     53   }
     54   if (!error) {
     55     printf("PASS\n");
     56     return 0;
     57   } else {
     58     printf("FAIL\n");
     59     return 1;
     60   }
     61 }