text: #1 "axi_interfaces.c"
  #1 "axi_interfaces.c" 1
  #1 "<built-in>" 1
  #1 "<built-in>" 3
  #147 "<built-in>" 3
  #1 "<command line>" 1
  
  
  
  
  
  #1 "C:/opt/winprog/Xilinx/Vivado_HLS/2015.2/common/technology/autopilot\\etc/autopilot_ssdm_op.h" 1
  /* autopilot_ssdm_op.h*/
  /*
  #-  (c) Copyright 2011-2015 Xilinx, Inc. All rights reserved.
  #-
  #-  This file contains confidential and proprietary information
  #-  of Xilinx, Inc. and is protected under U.S. and
  #-  international copyright and other intellectual property
  #-  laws.
  #-
  #-  DISCLAIMER
  #-  This disclaimer is not a license and does not grant any
  #-  rights to the materials distributed herewith. Except as
  #-  otherwise provided in a valid license issued to you by
  #-  Xilinx, and to the maximum extent permitted by applicable
  #-  law: (1) THESE MATERIALS ARE MADE AVAILABLE "AS IS" AND
  #-  WITH ALL FAULTS, AND XILINX HEREBY DISCLAIMS ALL WARRANTIES
  #-  AND CONDITIONS, EXPRESS, IMPLIED, OR STATUTORY, INCLUDING
  #-  BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, NON-
  #-  INFRINGEMENT, OR FITNESS FOR ANY PARTICULAR PURPOSE; and
  #-  (2) Xilinx shall not be liable (whether in contract or tort,
  #-  including negligence, or under any other theory of
  #-  liability) for any loss or damage of any kind or nature
  #-  related to, arising under or in connection with these
  #-  materials, including for any direct, or any indirect,
  #-  special, incidental, or consequential loss or damage
  #-  (including loss of data, profits, goodwill, or any type of
  #-  loss or damage suffered as a result of any action brought
  #-  by a third party) even if such damage or loss was
  #-  reasonably foreseeable or Xilinx had been advised of the
  #-  possibility of the same.
  #-
  #-  CRITICAL APPLICATIONS
  #-  Xilinx products are not designed or intended to be fail-
  #-  safe, or for use in any application requiring fail-safe
  #-  performance, such as life-support or safety devices or
  #-  systems, Class III medical devices, nuclear facilities,
  #-  applications related to the deployment of airbags, or any
  #-  other applications that could lead to death, personal
  #-  injury, or severe property or environmental damage
  #-  (individually and collectively, "Critical
  #-  Applications"). Customer assumes the sole risk and
  #-  liability of any use of Xilinx products in Critical
  #-  Applications, subject only to applicable laws and
  #-  regulations governing limitations on product liability.
  #-
  #-  THIS COPYRIGHT NOTICE AND DISCLAIMER MUST BE RETAINED AS
  #-  PART OF THIS FILE AT ALL TIMES. 
  #- ************************************************************************
  
   *
   * $Id$
   */
  #280 "C:/opt/winprog/Xilinx/Vivado_HLS/2015.2/common/technology/autopilot\\etc/autopilot_ssdm_op.h"
  /*#define AP_SPEC_ATTR __attribute__ ((pure))*/
  
  
  
      /****** SSDM Intrinsics: OPERATIONS ***/
      // Interface operations
      //typedef unsigned int __attribute__ ((bitwidth(1))) _uint1_;
      void _ssdm_op_IfRead() __attribute__ ((nothrow));
      void _ssdm_op_IfWrite() __attribute__ ((nothrow));
      //_uint1_ _ssdm_op_IfNbRead() SSDM_OP_ATTR;
      //_uint1_ _ssdm_op_IfNbWrite() SSDM_OP_ATTR;
      //_uint1_ _ssdm_op_IfCanRead() SSDM_OP_ATTR;
      //_uint1_ _ssdm_op_IfCanWrite() SSDM_OP_ATTR;
  
      // Stream Intrinsics
      void _ssdm_StreamRead() __attribute__ ((nothrow));
      void _ssdm_StreamWrite() __attribute__ ((nothrow));
      //_uint1_  _ssdm_StreamNbRead() SSDM_OP_ATTR;
      //_uint1_  _ssdm_StreamNbWrite() SSDM_OP_ATTR;
      //_uint1_  _ssdm_StreamCanRead() SSDM_OP_ATTR;
      //_uint1_  _ssdm_StreamCanWrite() SSDM_OP_ATTR;
  
      // Misc
      void _ssdm_op_MemShiftRead() __attribute__ ((nothrow));
  
      void _ssdm_op_Wait() __attribute__ ((nothrow));
      void _ssdm_op_Poll() __attribute__ ((nothrow));
  
      void _ssdm_op_Return() __attribute__ ((nothrow));
  
      /* SSDM Intrinsics: SPECIFICATIONS */
      void _ssdm_op_SpecSynModule() __attribute__ ((nothrow));
      void _ssdm_op_SpecTopModule() __attribute__ ((nothrow));
      void _ssdm_op_SpecProcessDecl() __attribute__ ((nothrow));
      void _ssdm_op_SpecProcessDef() __attribute__ ((nothrow));
      void _ssdm_op_SpecPort() __attribute__ ((nothrow));
      void _ssdm_op_SpecConnection() __attribute__ ((nothrow));
      void _ssdm_op_SpecChannel() __attribute__ ((nothrow));
      void _ssdm_op_SpecSensitive() __attribute__ ((nothrow));
      void _ssdm_op_SpecModuleInst() __attribute__ ((nothrow));
      void _ssdm_op_SpecPortMap() __attribute__ ((nothrow));
  
      void _ssdm_op_SpecReset() __attribute__ ((nothrow));
  
      void _ssdm_op_SpecPlatform() __attribute__ ((nothrow));
      void _ssdm_op_SpecClockDomain() __attribute__ ((nothrow));
      void _ssdm_op_SpecPowerDomain() __attribute__ ((nothrow));
  
      int _ssdm_op_SpecRegionBegin() __attribute__ ((nothrow));
      int _ssdm_op_SpecRegionEnd() __attribute__ ((nothrow));
  
      void _ssdm_op_SpecLoopName() __attribute__ ((nothrow));
  
      void _ssdm_op_SpecLoopTripCount() __attribute__ ((nothrow));
  
      int _ssdm_op_SpecStateBegin() __attribute__ ((nothrow));
      int _ssdm_op_SpecStateEnd() __attribute__ ((nothrow));
  
      void _ssdm_op_SpecInterface() __attribute__ ((nothrow));
  
      void _ssdm_op_SpecPipeline() __attribute__ ((nothrow));
      void _ssdm_op_SpecDataflowPipeline() __attribute__ ((nothrow));
  
  
      void _ssdm_op_SpecLatency() __attribute__ ((nothrow));
      void _ssdm_op_SpecParallel() __attribute__ ((nothrow));
      void _ssdm_op_SpecProtocol() __attribute__ ((nothrow));
      void _ssdm_op_SpecOccurrence() __attribute__ ((nothrow));
  
      void _ssdm_op_SpecResource() __attribute__ ((nothrow));
      void _ssdm_op_SpecResourceLimit() __attribute__ ((nothrow));
      void _ssdm_op_SpecCHCore() __attribute__ ((nothrow));
      void _ssdm_op_SpecFUCore() __attribute__ ((nothrow));
      void _ssdm_op_SpecIFCore() __attribute__ ((nothrow));
      void _ssdm_op_SpecIPCore() __attribute__ ((nothrow));
      void _ssdm_op_SpecKeepValue() __attribute__ ((nothrow));
      void _ssdm_op_SpecMemCore() __attribute__ ((nothrow));
  
      void _ssdm_op_SpecExt() __attribute__ ((nothrow));
      /*void* _ssdm_op_SpecProcess() SSDM_SPEC_ATTR;
      void* _ssdm_op_SpecEdge() SSDM_SPEC_ATTR; */
  
      /* Presynthesis directive functions */
      void _ssdm_SpecArrayDimSize() __attribute__ ((nothrow));
  
      void _ssdm_RegionBegin() __attribute__ ((nothrow));
      void _ssdm_RegionEnd() __attribute__ ((nothrow));
  
      void _ssdm_Unroll() __attribute__ ((nothrow));
      void _ssdm_UnrollRegion() __attribute__ ((nothrow));
  
      void _ssdm_InlineAll() __attribute__ ((nothrow));
      void _ssdm_InlineLoop() __attribute__ ((nothrow));
      void _ssdm_Inline() __attribute__ ((nothrow));
      void _ssdm_InlineSelf() __attribute__ ((nothrow));
      void _ssdm_InlineRegion() __attribute__ ((nothrow));
  
      void _ssdm_SpecArrayMap() __attribute__ ((nothrow));
      void _ssdm_SpecArrayPartition() __attribute__ ((nothrow));
      void _ssdm_SpecArrayReshape() __attribute__ ((nothrow));
  
      void _ssdm_SpecStream() __attribute__ ((nothrow));
  
      void _ssdm_SpecExpr() __attribute__ ((nothrow));
      void _ssdm_SpecExprBalance() __attribute__ ((nothrow));
  
      void _ssdm_SpecDependence() __attribute__ ((nothrow));
  
      void _ssdm_SpecLoopMerge() __attribute__ ((nothrow));
      void _ssdm_SpecLoopFlatten() __attribute__ ((nothrow));
      void _ssdm_SpecLoopRewind() __attribute__ ((nothrow));
  
      void _ssdm_SpecFuncInstantiation() __attribute__ ((nothrow));
      void _ssdm_SpecFuncBuffer() __attribute__ ((nothrow));
      void _ssdm_SpecFuncExtract() __attribute__ ((nothrow));
      void _ssdm_SpecConstant() __attribute__ ((nothrow));
  
      void _ssdm_DataPack() __attribute__ ((nothrow));
      void _ssdm_SpecDataPack() __attribute__ ((nothrow));
  
      void _ssdm_op_SpecBitsMap() __attribute__ ((nothrow));
      void _ssdm_op_SpecLicense() __attribute__ ((nothrow));
  
  
  /*#define _ssdm_op_WaitUntil(X) while (!(X)) _ssdm_op_Wait(1);
  #define _ssdm_op_Delayed(X) X */
  #7 "<command line>" 2
  #1 "<built-in>" 2
  #1 "axi_interfaces.c" 2
  /*******************************************************************************
  Vendor: Xilinx 
  Associated Filename: axi_interfaces.c
  Purpose: Vivado HLS tutorial example 
  Device: All 
  Revision History: March 1, 2013 - initial release
  
  *******************************************************************************
  Copyright 2008 - 2013 Xilinx, Inc. All rights reserved.
  
  This file contains confidential and proprietary information of Xilinx, Inc. and 
  is protected under U.S. and international copyright and other intellectual 
  property laws.
  
  DISCLAIMER
  This disclaimer is not a license and does not grant any rights to the materials 
  distributed herewith. Except as otherwise provided in a valid license issued to 
  you by Xilinx, and to the maximum extent permitted by applicable law: 
  (1) THESE MATERIALS ARE MADE AVAILABLE "AS IS" AND WITH ALL FAULTS, AND XILINX 
  HEREBY DISCLAIMS ALL WARRANTIES AND CONDITIONS, EXPRESS, IMPLIED, OR STATUTORY, 
  INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, NON-INFRINGEMENT, OR 
  FITNESS FOR ANY PARTICULAR PURPOSE; and (2) Xilinx shall not be liable (whether 
  in contract or tort, including negligence, or under any other theory of 
  liability) for any loss or damage of any kind or nature related to, arising under 
  or in connection with these materials, including for any direct, or any indirect, 
  special, incidental, or consequential loss or damage (including loss of data, 
  profits, goodwill, or any type of loss or damage suffered as a result of any 
  action brought by a third party) even if such damage or loss was reasonably 
  foreseeable or Xilinx had been advised of the possibility of the same.
  
  CRITICAL APPLICATIONS
  Xilinx products are not designed or intended to be fail-safe, or for use in any 
  application requiring fail-safe performance, such as life-support or safety 
  devices or systems, Class III medical devices, nuclear facilities, applications 
  related to the deployment of airbags, or any other applications that could lead 
  to death, personal injury, or severe property or environmental damage 
  (individually and collectively, "Critical Applications"). Customer asresultes the 
  sole risk and liability of any use of Xilinx products in Critical Applications, 
  subject only to applicable laws and regulations governing limitations on product 
  liability. 
  
  THIS COPYRIGHT NOTICE AND DISCLAIMER MUST BE RETAINED AS PART OF THIS FILE AT 
  ALL TIMES.
  
  *******************************************************************************/
  
  #1 "./axi_interfaces.h" 1
  /*******************************************************************************
  Vendor: Xilinx 
  Associated Filename: axi_interfaces.h
  Purpose: Vivado HLS tutorial example 
  Device: All 
  Revision History: March 1, 2013 - initial release
  
  *******************************************************************************
  Copyright 2008 - 2013 Xilinx, Inc. All rights reserved.
  
  This file contains confidential and proprietary information of Xilinx, Inc. and 
  is protected under U.S. and international copyright and other intellectual 
  property laws.
  
  DISCLAIMER
  This disclaimer is not a license and does not grant any rights to the materials 
  distributed herewith. Except as otherwise provided in a valid license issued to 
  you by Xilinx, and to the maximum extent permitted by applicable law: 
  (1) THESE MATERIALS ARE MADE AVAILABLE "AS IS" AND WITH ALL FAULTS, AND XILINX 
  HEREBY DISCLAIMS ALL WARRANTIES AND CONDITIONS, EXPRESS, IMPLIED, OR STATUTORY, 
  INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, NON-INFRINGEMENT, OR 
  FITNESS FOR ANY PARTICULAR PURPOSE; and (2) Xilinx shall not be liable (whether 
  in contract or tort, including negligence, or under any other theory of 
  liability) for any loss or damage of any kind or nature related to, arising under 
  or in connection with these materials, including for any direct, or any indirect, 
  special, incidental, or consequential loss or damage (including loss of data, 
  profits, goodwill, or any type of loss or damage suffered as a result of any 
  action brought by a third party) even if such damage or loss was reasonably 
  foreseeable or Xilinx had been advised of the possibility of the same.
  
  CRITICAL APPLICATIONS
  Xilinx products are not designed or intended to be fail-safe, or for use in any 
  application requiring fail-safe performance, such as life-support or safety 
  devices or systems, Class III medical devices, nuclear facilities, applications 
  related to the deployment of airbags, or any other applications that could lead 
  to death, personal injury, or severe property or environmental damage 
  (individually and collectively, "Critical Applications"). Customer asresultes the 
  sole risk and liability of any use of Xilinx products in Critical Applications, 
  subject only to applicable laws and regulations governing limitations on product 
  liability. 
  
  THIS COPYRIGHT NOTICE AND DISCLAIMER MUST BE RETAINED AS PART OF THIS FILE AT 
  ALL TIMES.
  
  *******************************************************************************/
  
  
  
  
  #1 "C:/opt/winprog/Xilinx/Vivado_HLS/2015.2/win64/tools/clang/bin/../lib/clang/3.1/../../../x86_64-w64-mingw32/include\\stdio.h" 1 3
  /**
   * This file has no copyright assigned and is placed in the Public Domain.
   * This file is part of the w64 mingw-runtime package.
   * No warranty is given; refer to the file DISCLAIMER.PD within this package.
   */
  
  
  
  
  #1 "C:/opt/winprog/Xilinx/Vivado_HLS/2015.2/win64/tools/clang/bin/../lib/clang/3.1/../../../x86_64-w64-mingw32/include\\_mingw.h" 1 3
  /**
   * This file has no copyright assigned and is placed in the Public Domain.
   * This file is part of the w64 mingw-runtime package.
   * No warranty is given; refer to the file DISCLAIMER.PD within this package.
   */
  
  
  
  
  
  #1 "C:/opt/winprog/Xilinx/Vivado_HLS/2015.2/win64/tools/clang/bin/../lib/clang/3.1/../../../x86_64-w64-mingw32/include/_mingw_mac.h" 1 3
  /**
   * This file has no copyright assigned and is placed in the Public Domain.
   * This file is part of the w64 mingw-runtime package.
   * No warranty is given; refer to the file DISCLAIMER.PD within this package.
   */
  #18 "C:/opt/winprog/Xilinx/Vivado_HLS/2015.2/win64/tools/clang/bin/../lib/clang/3.1/../../../x86_64-w64-mingw32/include/_mingw_mac.h" 3
  /* mingw.org's version macros: these make gcc to define
     MINGW32_SUPPORTS_MT_EH and to use the _CRT_MT global
     and the __mingwthr_key_dtor() function from the MinGW
     CRT in its private gthr-win32.h header. */
  
  
  
  
  /* MS does not prefix symbols by underscores for 64-bit.  */
  
  /* As we have to support older gcc version, which are using underscores
     as symbol prefix for x64, we have to check here for the user label
     prefix defined by gcc.  */
  #62 "C:/opt/winprog/Xilinx/Vivado_HLS/2015.2/win64/tools/clang/bin/../lib/clang/3.1/../../../x86_64-w64-mingw32/include/_mingw_mac.h" 3
  /* Use alias for msvcr80 export of get/set_output_format.  */
  
  
  
  
  /* Set VC specific compiler target macros.  */
  #10 "C:/opt/winprog/Xilinx/Vivado_HLS/2015.2/win64/tools/clang/bin/../lib/clang/3.1/../../../x86_64-w64-mingw32/include\\_mingw.h" 2 3
  
  
  /* C/C++ specific language defines.  */
  #32 "C:/opt/winprog/Xilinx/Vivado_HLS/2015.2/win64/tools/clang/bin/../lib/clang/3.1/../../../x86_64-w64-mingw32/include\\_mingw.h" 3
  /* Note the extern. This is needed to work around GCC's
  limitations in handling dllimport attribute.  */
  #147 "C:/opt/winprog/Xilinx/Vivado_HLS/2015.2/win64/tools/clang/bin/../lib/clang/3.1/../../../x86_64-w64-mingw32/include\\_mingw.h" 3
  /* Attribute `nonnull' was valid as of gcc 3.3.  We don't use GCC's
     variadiac macro facility, because variadic macros cause syntax
     errors with  --traditional-cpp.  */
  #225 "C:/opt/winprog/Xilinx/Vivado_HLS/2015.2/win64/tools/clang/bin/../lib/clang/3.1/../../../x86_64-w64-mingw32/include\\_mingw.h" 3
  /*  High byte is the major version, low byte is the minor. */
  #247 "C:/opt/winprog/Xilinx/Vivado_HLS/2015.2/win64/tools/clang/bin/../lib/clang/3.1/../../../x86_64-w64-mingw32/include\\_mingw.h" 3
  /*typedef int __int128 __attribute__ ((__mode__ (TI)));*/
  #277 "C:/opt/winprog/Xilinx/Vivado_HLS/2015.2/win64/tools/clang/bin/../lib/clang/3.1/../../../x86_64-w64-mingw32/include\\_mingw.h" 3
  #1 "C:/opt/winprog/Xilinx/Vivado_HLS/2015.2/win64/tools/clang/bin/../lib/clang/3.1/../../../x86_64-w64-mingw32/include\\vadefs.h" 1 3
  /**
   * This file has no copyright assigned and is placed in the Public Domain.
   * This file is part of the w64 mingw-runtime package.
   * No warranty is given; refer to the file DISCLAIMER.PD within this package.
   */
  
  
  
  
  
  
  
  
  #1 "C:/opt/winprog/Xilinx/Vivado_HLS/2015.2/win64/tools/clang/bin/../lib/clang/3.1/../../../x86_64-w64-mingw32/include\\_mingw.h" 1 3
  /**
   * This file has no copyright assigned and is placed in the Public Domain.
   * This file is part of the w64 mingw-runtime package.
   * No warranty is given; refer to the file DISCLAIMER.PD within this package.
   */
  #674 "C:/opt/winprog/Xilinx/Vivado_HLS/2015.2/win64/tools/clang/bin/../lib/clang/3.1/../../../x86_64-w64-mingw32/include\\_mingw.h" 3
  #1 "C:/opt/winprog/Xilinx/Vivado_HLS/2015.2/win64/tools/clang/bin/../lib/clang/3.1/../../../x86_64-w64-mingw32/include/sdks/_mingw_directx.h" 1 3
  #674 "C:/opt/winprog/Xilinx/Vivado_HLS/2015.2/win64/tools/clang/bin/../lib/clang/3.1/../../../x86_64-w64-mingw32/include\\_mingw.h" 2 3
  
  #1 "C:/opt/winprog/Xilinx/Vivado_HLS/2015.2/win64/tools/clang/bin/../lib/clang/3.1/../../../x86_64-w64-mingw32/include/sdks/_mingw_ddk.h" 1 3
  #675 "C:/opt/winprog/Xilinx/Vivado_HLS/2015.2/win64/tools/clang/bin/../lib/clang/3.1/../../../x86_64-w64-mingw32/include\\_mingw.h" 2 3
  #13 "C:/opt/winprog/Xilinx/Vivado_HLS/2015.2/win64/tools/clang/bin/../lib/clang/3.1/../../../x86_64-w64-mingw32/include\\vadefs.h" 2 3
  
  
  #pragma pack(push,_CRT_PACKING)
  
  
  
  
  
  
  
  
   typedef __builtin_va_list __gnuc_va_list;
  
  
  
  
  
  
    typedef __gnuc_va_list va_list;
  #46 "C:/opt/winprog/Xilinx/Vivado_HLS/2015.2/win64/tools/clang/bin/../lib/clang/3.1/../../../x86_64-w64-mingw32/include\\vadefs.h" 3
  /* Use GCC builtins */
  #102 "C:/opt/winprog/Xilinx/Vivado_HLS/2015.2/win64/tools/clang/bin/../lib/clang/3.1/../../../x86_64-w64-mingw32/include\\vadefs.h" 3
  #pragma pack(pop)
  #277 "C:/opt/winprog/Xilinx/Vivado_HLS/2015.2/win64/tools/clang/bin/../lib/clang/3.1/../../../x86_64-w64-mingw32/include\\_mingw.h" 2 3
  
  
  #pragma pack(push,_CRT_PACKING)
  #316 "C:/opt/winprog/Xilinx/Vivado_HLS/2015.2/win64/tools/clang/bin/../lib/clang/3.1/../../../x86_64-w64-mingw32/include\\_mingw.h" 3
  /* We have to define _DLL for gcc based mingw version. This define is set
     by VC, when DLL-based runtime is used. So, gcc based runtime just have
     DLL-base runtime, therefore this define has to be set.
     As our headers are possibly used by windows compiler having a static
     C-runtime, we make this definition gnu compiler specific here.  */
  #370 "C:/opt/winprog/Xilinx/Vivado_HLS/2015.2/win64/tools/clang/bin/../lib/clang/3.1/../../../x86_64-w64-mingw32/include\\_mingw.h" 3
  __extension__ typedef unsigned long long size_t;
  #380 "C:/opt/winprog/Xilinx/Vivado_HLS/2015.2/win64/tools/clang/bin/../lib/clang/3.1/../../../x86_64-w64-mingw32/include\\_mingw.h" 3
  __extension__ typedef long long ssize_t;
  #392 "C:/opt/winprog/Xilinx/Vivado_HLS/2015.2/win64/tools/clang/bin/../lib/clang/3.1/../../../x86_64-w64-mingw32/include\\_mingw.h" 3
  __extension__ typedef long long intptr_t;
  #405 "C:/opt/winprog/Xilinx/Vivado_HLS/2015.2/win64/tools/clang/bin/../lib/clang/3.1/../../../x86_64-w64-mingw32/include\\_mingw.h" 3
  __extension__ typedef unsigned long long uintptr_t;
  #418 "C:/opt/winprog/Xilinx/Vivado_HLS/2015.2/win64/tools/clang/bin/../lib/clang/3.1/../../../x86_64-w64-mingw32/include\\_mingw.h" 3
  __extension__ typedef long long ptrdiff_t;
  #428 "C:/opt/winprog/Xilinx/Vivado_HLS/2015.2/win64/tools/clang/bin/../lib/clang/3.1/../../../x86_64-w64-mingw32/include\\_mingw.h" 3
  typedef unsigned short wchar_t;
  
  
  
  
  
  
  
  typedef unsigned short wint_t;
  typedef unsigned short wctype_t;
  #456 "C:/opt/winprog/Xilinx/Vivado_HLS/2015.2/win64/tools/clang/bin/../lib/clang/3.1/../../../x86_64-w64-mingw32/include\\_mingw.h" 3
  typedef int errno_t;
  
  
  
  
  typedef long __time32_t;
  
  
  
  
  __extension__ typedef long long __time64_t;
  
  
  
  
  
  
  
  typedef __time64_t time_t;
  #518 "C:/opt/winprog/Xilinx/Vivado_HLS/2015.2/win64/tools/clang/bin/../lib/clang/3.1/../../../x86_64-w64-mingw32/include\\_mingw.h" 3
  /* _dowildcard is an int that controls the globbing of the command line.
   * The MinGW32 (mingw.org) runtime calls it _CRT_glob, so we are adding
   * a compatibility definition here:  you can use either of _CRT_glob or
   * _dowildcard .
   * If _dowildcard is non-zero, the command line will be globbed:  *.*
   * will be expanded to be all files in the startup directory.
   * In the mingw-w64 library a _dowildcard variable is defined as being
   * 0, therefore command line globbing is DISABLED by default. To turn it
   * on and to leave wildcard command line processing MS's globbing code,
   * include a line in one of your source modules defining _dowildcard and
   * setting it to -1, like so:
   * int _dowildcard = -1;
   */
  #605 "C:/opt/winprog/Xilinx/Vivado_HLS/2015.2/win64/tools/clang/bin/../lib/clang/3.1/../../../x86_64-w64-mingw32/include\\_mingw.h" 3
  /* MSVC-isms: */
  
  struct threadlocaleinfostruct;
  struct threadmbcinfostruct;
  typedef struct threadlocaleinfostruct *pthreadlocinfo;
  typedef struct threadmbcinfostruct *pthreadmbcinfo;
  struct __lc_time_data;
  
  typedef struct localeinfo_struct {
    pthreadlocinfo locinfo;
    pthreadmbcinfo mbcinfo;
  } _locale_tstruct,*_locale_t;
  
  
  
  typedef struct tagLC_ID {
    unsigned short wLanguage;
    unsigned short wCountry;
    unsigned short wCodePage;
  } LC_ID,*LPLC_ID;
  
  
  
  
  typedef struct threadlocaleinfostruct {
    int refcount;
    unsigned int lc_codepage;
    unsigned int lc_collate_cp;
    unsigned long lc_handle[6];
    LC_ID lc_id[6];
    struct {
      char *locale;
      wchar_t *wlocale;
      int *refcount;
      int *wrefcount;
    } lc_category[6];
    int lc_clike;
    int mb_cur_max;
    int *lconv_intl_refcount;
    int *lconv_num_refcount;
    int *lconv_mon_refcount;
    struct lconv *lconv;
    int *ctype1_refcount;
    unsigned short *ctype1;
    const unsigned short *pctype;
    const unsigned char *pclmap;
    const unsigned char *pcumap;
    struct __lc_time_data *lc_time_curr;
  } threadlocinfo;
  
  
  
  
  
  
  /* mingw-w64 specific functions: */
  const char *__mingw_get_crt_info (void);
  
  
  
  
  
  #pragma pack(pop)
  #9 "C:/opt/winprog/Xilinx/Vivado_HLS/2015.2/win64/tools/clang/bin/../lib/clang/3.1/../../../x86_64-w64-mingw32/include\\stdio.h" 2 3
  
  
  #1 "C:/opt/winprog/Xilinx/Vivado_HLS/2015.2/win64/tools/clang/bin/../lib/clang/3.1/../../../x86_64-w64-mingw32/include\\_mingw_print_push.h" 1 3
  /**
   * This file has no copyright assigned and is placed in the Public Domain.
   * This file is part of the w64 mingw-runtime package.
   * No warranty is given; refer to the file DISCLAIMER.PD within this package.
   */
  
  /* Undefine __mingw_<printf> macros.  */
  #11 "C:/opt/winprog/Xilinx/Vivado_HLS/2015.2/win64/tools/clang/bin/../lib/clang/3.1/../../../x86_64-w64-mingw32/include\\stdio.h" 2 3
  
  
  #pragma pack(push,_CRT_PACKING)
  #26 "C:/opt/winprog/Xilinx/Vivado_HLS/2015.2/win64/tools/clang/bin/../lib/clang/3.1/../../../x86_64-w64-mingw32/include\\stdio.h" 3
   struct _iobuf {
      char *_ptr;
      int _cnt;
      char *_base;
      int _flag;
      int _file;
      int _charbuf;
      int _bufsiz;
      char *_tmpfname;
    };
    typedef struct _iobuf FILE;
  #84 "C:/opt/winprog/Xilinx/Vivado_HLS/2015.2/win64/tools/clang/bin/../lib/clang/3.1/../../../x86_64-w64-mingw32/include\\stdio.h" 3
    typedef long _off_t;
  
    typedef long off_t;
  
  
  
  
  
  
    __extension__ typedef long long _off64_t;
  
    __extension__ typedef long long off64_t;
  
  
  
  
  
    __attribute__ ((__dllimport__)) FILE * __iob_func(void);
  #120 "C:/opt/winprog/Xilinx/Vivado_HLS/2015.2/win64/tools/clang/bin/../lib/clang/3.1/../../../x86_64-w64-mingw32/include\\stdio.h" 3
    __extension__ typedef long long fpos_t;
  #157 "C:/opt/winprog/Xilinx/Vivado_HLS/2015.2/win64/tools/clang/bin/../lib/clang/3.1/../../../x86_64-w64-mingw32/include\\stdio.h" 3
    __attribute__ ((__dllimport__)) int _filbuf(FILE *_File);
    __attribute__ ((__dllimport__)) int _flsbuf(int _Ch,FILE *_File);
  
  
  
    __attribute__ ((__dllimport__)) FILE * _fsopen(const char *_Filename,const char *_Mode,int _ShFlag);
  
    void clearerr(FILE *_File);
    int fclose(FILE *_File);
    __attribute__ ((__dllimport__)) int _fcloseall(void);
  
  
  
    __attribute__ ((__dllimport__)) FILE * _fdopen(int _FileHandle,const char *_Mode);
  
    int feof(FILE *_File);
    int ferror(FILE *_File);
    int fflush(FILE *_File);
    int fgetc(FILE *_File);
    __attribute__ ((__dllimport__)) int _fgetchar(void);
    int fgetpos(FILE * __restrict__ _File ,fpos_t * __restrict__ _Pos);
    char * fgets(char * __restrict__ _Buf,int _MaxCount,FILE * __restrict__ _File);
    __attribute__ ((__dllimport__)) int _fileno(FILE *_File);
  
  
  
    __attribute__ ((__dllimport__)) char * _tempnam(const char *_DirName,const char *_FilePrefix);
    __attribute__ ((__dllimport__)) int _flushall(void);
    FILE * fopen(const char * __restrict__ _Filename,const char * __restrict__ _Mode) ;
    FILE *fopen64(const char * __restrict__ filename,const char * __restrict__ mode);
    int fprintf(FILE * __restrict__ _File,const char * __restrict__ _Format,...);
    int fputc(int _Ch,FILE *_File);
    __attribute__ ((__dllimport__)) int _fputchar(int _Ch);
    int fputs(const char * __restrict__ _Str,FILE * __restrict__ _File);
    size_t fread(void * __restrict__ _DstBuf,size_t _ElementSize,size_t _Count,FILE * __restrict__ _File);
    FILE * freopen(const char * __restrict__ _Filename,const char * __restrict__ _Mode,FILE * __restrict__ _File) ;
    int fscanf(FILE * __restrict__ _File,const char * __restrict__ _Format,...) ;
    int _fscanf_l(FILE * __restrict__ _File,const char * __restrict__ _Format,_locale_t locale,...) ;
    int fsetpos(FILE *_File,const fpos_t *_Pos);
    int fseek(FILE *_File,long _Offset,int _Origin);
    int fseeko64(FILE* stream, _off64_t offset, int whence);
    long ftell(FILE *_File);
    _off64_t ftello64(FILE * stream);
    __extension__ int _fseeki64(FILE *_File,long long _Offset,int _Origin);
    __extension__ long long _ftelli64(FILE *_File);
    size_t fwrite(const void * __restrict__ _Str,size_t _Size,size_t _Count,FILE * __restrict__ _File);
    int getc(FILE *_File);
    int getchar(void);
    __attribute__ ((__dllimport__)) int _getmaxstdio(void);
    char * gets(char *_Buffer) ;
    int _getw(FILE *_File);
  
  
    void perror(const char *_ErrMsg);
  
    __attribute__ ((__dllimport__)) int _pclose(FILE *_File);
    __attribute__ ((__dllimport__)) FILE * _popen(const char *_Command,const char *_Mode);
  
  
  
  
    int printf(const char * __restrict__ _Format,...);
    int putc(int _Ch,FILE *_File);
    int putchar(int _Ch);
    int puts(const char *_Str);
    __attribute__ ((__dllimport__)) int _putw(int _Word,FILE *_File);
  
  
    int remove(const char *_Filename);
    int rename(const char *_OldFilename,const char *_NewFilename);
    __attribute__ ((__dllimport__)) int _unlink(const char *_Filename);
  
    int unlink(const char *_Filename) ;
  
  
    void rewind(FILE *_File);
    __attribute__ ((__dllimport__)) int _rmtmp(void);
    int scanf(const char * __restrict__ _Format,...) ;
    int _scanf_l(const char * __restrict__ format,_locale_t locale,... ) ;
    void setbuf(FILE * __restrict__ _File,char * __restrict__ _Buffer) ;
    __attribute__ ((__dllimport__)) int _setmaxstdio(int _Max);
    __attribute__ ((__dllimport__)) unsigned int _set_output_format(unsigned int _Format);
    __attribute__ ((__dllimport__)) unsigned int _get_output_format(void);
    unsigned int __mingw_set_output_format(unsigned int _Format);
    unsigned int __mingw_get_output_format(void);
  
  
  
  
    int setvbuf(FILE * __restrict__ _File,char * __restrict__ _Buf,int _Mode,size_t _Size);
    __attribute__ ((__dllimport__)) int _scprintf(const char * __restrict__ _Format,...);
    int sscanf(const char * __restrict__ _Src,const char * __restrict__ _Format,...) ;
    int _sscanf_l(const char * __restrict__ buffer,const char * __restrict__ format,_locale_t locale,...) ;
    __attribute__ ((__dllimport__)) int _snscanf(const char * __restrict__ _Src,size_t _MaxCount,const char * __restrict__ _Format,...) ;
    __attribute__ ((__dllimport__)) int _snscanf_l(const char * __restrict__ input,size_t length,const char * __restrict__ format,_locale_t locale,...) ;
    FILE * tmpfile(void) ;
    char * tmpnam(char *_Buffer);
    int ungetc(int _Ch,FILE *_File);
    int vfprintf(FILE * __restrict__ _File,const char * __restrict__ _Format,va_list _ArgList);
    int vprintf(const char * __restrict__ _Format,va_list _ArgList);
  
    /* Make sure macros are not defined.  */
    extern
      __attribute__((__format__ (gnu_printf, 3, 0))) __attribute__ ((__nonnull__ (3)))
      int __mingw_vsnprintf(char * __restrict__ _DstBuf,size_t _MaxCount,const char * __restrict__ _Format,
        va_list _ArgList);
    extern
      __attribute__((__format__ (gnu_printf, 3, 4))) __attribute__ ((__nonnull__ (3)))
      int __mingw_snprintf(char * __restrict__ s, size_t n, const char * __restrict__ format, ...);
    extern
      __attribute__((__format__ (gnu_printf, 1, 2))) __attribute__ ((__nonnull__ (1)))
      int __mingw_printf(const char * __restrict__ , ... ) __attribute__ ((__nothrow__));
    extern
      __attribute__((__format__ (gnu_printf, 1, 0))) __attribute__ ((__nonnull__ (1)))
      int __mingw_vprintf (const char * __restrict__ , va_list) __attribute__ ((__nothrow__));
    extern
      __attribute__((__format__ (gnu_printf, 2, 3))) __attribute__ ((__nonnull__ (2)))
      int __mingw_fprintf (FILE * __restrict__ , const char * __restrict__ , ...) __attribute__ ((__nothrow__));
    extern
      __attribute__((__format__ (gnu_printf, 2, 0))) __attribute__ ((__nonnull__ (2)))
      int __mingw_vfprintf (FILE * __restrict__ , const char * __restrict__ , va_list) __attribute__ ((__nothrow__));
    extern
      __attribute__((__format__ (gnu_printf, 2, 3))) __attribute__ ((__nonnull__ (2)))
      int __mingw_sprintf (char * __restrict__ , const char * __restrict__ , ...) __attribute__ ((__nothrow__));
    extern
      __attribute__((__format__ (gnu_printf, 2, 0))) __attribute__ ((__nonnull__ (2)))
      int __mingw_vsprintf (char * __restrict__ , const char * __restrict__ , va_list) __attribute__ ((__nothrow__));
  
    __attribute__ ((__dllimport__)) int _snprintf(char * __restrict__ _Dest,size_t _Count,const char * __restrict__ _Format,...) ;
    __attribute__ ((__dllimport__)) int _snprintf_l(char * __restrict__ buffer,size_t count,const char * __restrict__ format,_locale_t locale,...) ;
    __attribute__ ((__dllimport__)) int _vsnprintf(char * __restrict__ _Dest,size_t _Count,const char * __restrict__ _Format,va_list _Args) ;
    __attribute__ ((__dllimport__)) int _vsnprintf_l(char * __restrict__ buffer,size_t count,const char * __restrict__ format,_locale_t locale,va_list argptr) ;
    int sprintf(char * __restrict__ _Dest,const char * __restrict__ _Format,...) ;
    int _sprintf_l(char * __restrict__ buffer,const char * __restrict__ format,_locale_t locale,...) ;
    int vsprintf(char * __restrict__ _Dest,const char * __restrict__ _Format,va_list _Args) ;
  
  /* this is here to deal with software defining
   * vsnprintf as _vsnprintf, eg. libxml2.  */
  
  
  
  
    int vsnprintf(char * __restrict__ _DstBuf,size_t _MaxCount,const char * __restrict__ _Format,va_list _ArgList) ;
  
    int snprintf(char * __restrict__ s, size_t n, const char * __restrict__ format, ...);
  #312 "C:/opt/winprog/Xilinx/Vivado_HLS/2015.2/win64/tools/clang/bin/../lib/clang/3.1/../../../x86_64-w64-mingw32/include\\stdio.h" 3
    int vscanf(const char * __restrict__ Format, va_list argp);
    int vfscanf (FILE * __restrict__ fp, const char * __restrict__ Format,va_list argp);
    int vsscanf (const char * __restrict__ _Str,const char * __restrict__ Format,va_list argp);
  
    __attribute__ ((__dllimport__)) int _vscprintf(const char * __restrict__ _Format,va_list _ArgList);
    __attribute__ ((__dllimport__)) int _set_printf_count_output(int _Value);
    __attribute__ ((__dllimport__)) int _get_printf_count_output(void);
  #330 "C:/opt/winprog/Xilinx/Vivado_HLS/2015.2/win64/tools/clang/bin/../lib/clang/3.1/../../../x86_64-w64-mingw32/include\\stdio.h" 3
    __attribute__ ((__dllimport__)) FILE * _wfsopen(const wchar_t *_Filename,const wchar_t *_Mode,int _ShFlag);
  
  
    wint_t fgetwc(FILE *_File);
    __attribute__ ((__dllimport__)) wint_t _fgetwchar(void);
    wint_t fputwc(wchar_t _Ch,FILE *_File);
    __attribute__ ((__dllimport__)) wint_t _fputwchar(wchar_t _Ch);
    wint_t getwc(FILE *_File);
    wint_t getwchar(void);
    wint_t putwc(wchar_t _Ch,FILE *_File);
    wint_t putwchar(wchar_t _Ch);
    wint_t ungetwc(wint_t _Ch,FILE *_File);
    wchar_t * fgetws(wchar_t * __restrict__ _Dst,int _SizeInWords,FILE * __restrict__ _File);
    int fputws(const wchar_t * __restrict__ _Str,FILE * __restrict__ _File);
    __attribute__ ((__dllimport__)) wchar_t * _getws(wchar_t *_String) ;
    __attribute__ ((__dllimport__)) int _putws(const wchar_t *_Str);
    int fwprintf(FILE * __restrict__ _File,const wchar_t * __restrict__ _Format,...);
    int wprintf(const wchar_t * __restrict__ _Format,...);
    __attribute__ ((__dllimport__)) int _scwprintf(const wchar_t * __restrict__ _Format,...);
    int vfwprintf(FILE * __restrict__ _File,const wchar_t * __restrict__ _Format,va_list _ArgList);
    int vwprintf(const wchar_t * __restrict__ _Format,va_list _ArgList);
    __attribute__ ((__dllimport__)) int swprintf(wchar_t * __restrict__ , const wchar_t * __restrict__ , ...) ;
    __attribute__ ((__dllimport__)) int _swprintf_l(wchar_t * __restrict__ buffer,size_t count,const wchar_t * __restrict__ format,_locale_t locale,... ) ;
    __attribute__ ((__dllimport__)) int vswprintf(wchar_t * __restrict__ , const wchar_t * __restrict__ ,va_list) ;
    __attribute__ ((__dllimport__)) int _swprintf_c(wchar_t * __restrict__ _DstBuf,size_t _SizeInWords,const wchar_t * __restrict__ _Format,...);
    __attribute__ ((__dllimport__)) int _vswprintf_c(wchar_t * __restrict__ _DstBuf,size_t _SizeInWords,const wchar_t * __restrict__ _Format,va_list _ArgList);
    __attribute__ ((__dllimport__)) int _snwprintf(wchar_t * __restrict__ _Dest,size_t _Count,const wchar_t * __restrict__ _Format,...) ;
    __attribute__ ((__dllimport__)) int _vsnwprintf(wchar_t * __restrict__ _Dest,size_t _Count,const wchar_t * __restrict__ _Format,va_list _Args) ;
  
  
  
  
  
    int snwprintf (wchar_t * __restrict__ s, size_t n, const wchar_t * __restrict__ format, ...);
    int vsnwprintf (wchar_t * __restrict__ , size_t, const wchar_t * __restrict__ , va_list);
  #373 "C:/opt/winprog/Xilinx/Vivado_HLS/2015.2/win64/tools/clang/bin/../lib/clang/3.1/../../../x86_64-w64-mingw32/include\\stdio.h" 3
    int vwscanf (const wchar_t * __restrict__ , va_list);
    int vfwscanf (FILE * __restrict__ ,const wchar_t * __restrict__ ,va_list);
    int vswscanf (const wchar_t * __restrict__ ,const wchar_t * __restrict__ ,va_list);
  
    __attribute__ ((__dllimport__)) int _fwprintf_p(FILE * __restrict__ _File,const wchar_t * __restrict__ _Format,...);
    __attribute__ ((__dllimport__)) int _wprintf_p(const wchar_t * __restrict__ _Format,...);
    __attribute__ ((__dllimport__)) int _vfwprintf_p(FILE * __restrict__ _File,const wchar_t * __restrict__ _Format,va_list _ArgList);
    __attribute__ ((__dllimport__)) int _vwprintf_p(const wchar_t * __restrict__ _Format,va_list _ArgList);
    __attribute__ ((__dllimport__)) int _swprintf_p(wchar_t * __restrict__ _DstBuf,size_t _MaxCount,const wchar_t * __restrict__ _Format,...);
    __attribute__ ((__dllimport__)) int _vswprintf_p(wchar_t * __restrict__ _DstBuf,size_t _MaxCount,const wchar_t * __restrict__ _Format,va_list _ArgList);
    __attribute__ ((__dllimport__)) int _scwprintf_p(const wchar_t * __restrict__ _Format,...);
    __attribute__ ((__dllimport__)) int _vscwprintf_p(const wchar_t * __restrict__ _Format,va_list _ArgList);
    __attribute__ ((__dllimport__)) int _wprintf_l(const wchar_t * __restrict__ _Format,_locale_t _Locale,...);
    __attribute__ ((__dllimport__)) int _wprintf_p_l(const wchar_t * __restrict__ _Format,_locale_t _Locale,...);
    __attribute__ ((__dllimport__)) int _vwprintf_l(const wchar_t * __restrict__ _Format,_locale_t _Locale,va_list _ArgList);
    __attribute__ ((__dllimport__)) int _vwprintf_p_l(const wchar_t * __restrict__ _Format,_locale_t _Locale,va_list _ArgList);
    __attribute__ ((__dllimport__)) int _fwprintf_l(FILE * __restrict__ _File,const wchar_t * __restrict__ _Format,_locale_t _Locale,...);
    __attribute__ ((__dllimport__)) int _fwprintf_p_l(FILE * __restrict__ _File,const wchar_t * __restrict__ _Format,_locale_t _Locale,...);
    __attribute__ ((__dllimport__)) int _vfwprintf_l(FILE * __restrict__ _File,const wchar_t * __restrict__ _Format,_locale_t _Locale,va_list _ArgList);
    __attribute__ ((__dllimport__)) int _vfwprintf_p_l(FILE * __restrict__ _File,const wchar_t * __restrict__ _Format,_locale_t _Locale,va_list _ArgList);
    __attribute__ ((__dllimport__)) int _swprintf_c_l(wchar_t * __restrict__ _DstBuf,size_t _MaxCount,const wchar_t * __restrict__ _Format,_locale_t _Locale,...);
    __attribute__ ((__dllimport__)) int _swprintf_p_l(wchar_t * __restrict__ _DstBuf,size_t _MaxCount,const wchar_t * __restrict__ _Format,_locale_t _Locale,...);
    __attribute__ ((__dllimport__)) int _vswprintf_c_l(wchar_t * __restrict__ _DstBuf,size_t _MaxCount,const wchar_t * __restrict__ _Format,_locale_t _Locale,va_list _ArgList);
    __attribute__ ((__dllimport__)) int _vswprintf_p_l(wchar_t * __restrict__ _DstBuf,size_t _MaxCount,const wchar_t * __restrict__ _Format,_locale_t _Locale,va_list _ArgList);
    __attribute__ ((__dllimport__)) int _scwprintf_l(const wchar_t * __restrict__ _Format,_locale_t _Locale,...);
    __attribute__ ((__dllimport__)) int _scwprintf_p_l(const wchar_t * __restrict__ _Format,_locale_t _Locale,...);
    __attribute__ ((__dllimport__)) int _vscwprintf_p_l(const wchar_t * __restrict__ _Format,_locale_t _Locale,va_list _ArgList);
    __attribute__ ((__dllimport__)) int _snwprintf_l(wchar_t * __restrict__ _DstBuf,size_t _MaxCount,const wchar_t * __restrict__ _Format,_locale_t _Locale,...);
    __attribute__ ((__dllimport__)) int _vsnwprintf_l(wchar_t * __restrict__ _DstBuf,size_t _MaxCount,const wchar_t * __restrict__ _Format,_locale_t _Locale,va_list _ArgList) ;
    __attribute__ ((__dllimport__)) int _swprintf(wchar_t * __restrict__ _Dest,const wchar_t * __restrict__ _Format,...);
    __attribute__ ((__dllimport__)) int _vswprintf(wchar_t * __restrict__ _Dest,const wchar_t * __restrict__ _Format,va_list _Args);
    __attribute__ ((__dllimport__)) int __swprintf_l(wchar_t * __restrict__ _Dest,const wchar_t * __restrict__ _Format,_locale_t _Plocinfo,...) ;
    __attribute__ ((__dllimport__)) int _vswprintf_l(wchar_t * __restrict__ buffer,size_t count,const wchar_t * __restrict__ format,_locale_t locale,va_list argptr) ;
    __attribute__ ((__dllimport__)) int __vswprintf_l(wchar_t * __restrict__ _Dest,const wchar_t * __restrict__ _Format,_locale_t _Plocinfo,va_list _Args) ;
  #417 "C:/opt/winprog/Xilinx/Vivado_HLS/2015.2/win64/tools/clang/bin/../lib/clang/3.1/../../../x86_64-w64-mingw32/include\\stdio.h" 3
    __attribute__ ((__dllimport__)) wchar_t * _wtempnam(const wchar_t *_Directory,const wchar_t *_FilePrefix);
    __attribute__ ((__dllimport__)) int _vscwprintf(const wchar_t * __restrict__ _Format,va_list _ArgList);
    __attribute__ ((__dllimport__)) int _vscwprintf_l(const wchar_t * __restrict__ _Format,_locale_t _Locale,va_list _ArgList);
    int fwscanf(FILE * __restrict__ _File,const wchar_t * __restrict__ _Format,...) ;
    __attribute__ ((__dllimport__)) int _fwscanf_l(FILE * __restrict__ _File,const wchar_t * __restrict__ _Format,_locale_t _Locale,...) ;
    int swscanf(const wchar_t * __restrict__ _Src,const wchar_t * __restrict__ _Format,...) ;
    __attribute__ ((__dllimport__)) int _swscanf_l(const wchar_t * __restrict__ _Src,const wchar_t * __restrict__ _Format,_locale_t _Locale,...) ;
    __attribute__ ((__dllimport__)) int _snwscanf(const wchar_t * __restrict__ _Src,size_t _MaxCount,const wchar_t * __restrict__ _Format,...);
    __attribute__ ((__dllimport__)) int _snwscanf_l(const wchar_t * __restrict__ _Src,size_t _MaxCount,const wchar_t * __restrict__ _Format,_locale_t _Locale,...);
    int wscanf(const wchar_t * __restrict__ _Format,...) ;
    __attribute__ ((__dllimport__)) int _wscanf_l(const wchar_t * __restrict__ _Format,_locale_t _Locale,...) ;
    __attribute__ ((__dllimport__)) FILE * _wfdopen(int _FileHandle ,const wchar_t *_Mode);
    __attribute__ ((__dllimport__)) FILE * _wfopen(const wchar_t * __restrict__ _Filename,const wchar_t *__restrict__ _Mode) ;
    __attribute__ ((__dllimport__)) FILE * _wfreopen(const wchar_t * __restrict__ _Filename,const wchar_t * __restrict__ _Mode,FILE * __restrict__ _OldFile) ;
  
  
  
    __attribute__ ((__dllimport__)) void _wperror(const wchar_t *_ErrMsg);
  
    __attribute__ ((__dllimport__)) FILE * _wpopen(const wchar_t *_Command,const wchar_t *_Mode);
  
  
  
  
    __attribute__ ((__dllimport__)) int _wremove(const wchar_t *_Filename);
    __attribute__ ((__dllimport__)) wchar_t * _wtmpnam(wchar_t *_Buffer);
    __attribute__ ((__dllimport__)) wint_t _fgetwc_nolock(FILE *_File);
    __attribute__ ((__dllimport__)) wint_t _fputwc_nolock(wchar_t _Ch,FILE *_File);
    __attribute__ ((__dllimport__)) wint_t _ungetwc_nolock(wint_t _Ch,FILE *_File);
  #475 "C:/opt/winprog/Xilinx/Vivado_HLS/2015.2/win64/tools/clang/bin/../lib/clang/3.1/../../../x86_64-w64-mingw32/include\\stdio.h" 3
    __attribute__ ((__dllimport__)) void _lock_file(FILE *_File);
    __attribute__ ((__dllimport__)) void _unlock_file(FILE *_File);
    __attribute__ ((__dllimport__)) int _fclose_nolock(FILE *_File);
    __attribute__ ((__dllimport__)) int _fflush_nolock(FILE *_File);
    __attribute__ ((__dllimport__)) size_t _fread_nolock(void * __restrict__ _DstBuf,size_t _ElementSize,size_t _Count,FILE * __restrict__ _File);
    __attribute__ ((__dllimport__)) int _fseek_nolock(FILE *_File,long _Offset,int _Origin);
    __attribute__ ((__dllimport__)) long _ftell_nolock(FILE *_File);
    __extension__ __attribute__ ((__dllimport__)) int _fseeki64_nolock(FILE *_File,long long _Offset,int _Origin);
    __extension__ __attribute__ ((__dllimport__)) long long _ftelli64_nolock(FILE *_File);
    __attribute__ ((__dllimport__)) size_t _fwrite_nolock(const void * __restrict__ _DstBuf,size_t _Size,size_t _Count,FILE * __restrict__ _File);
    __attribute__ ((__dllimport__)) int _ungetc_nolock(int _Ch,FILE *_File);
  
  
  
  
  
    char * tempnam(const char *_Directory,const char *_FilePrefix) ;
    int fcloseall(void) ;
    FILE * fdopen(int _FileHandle,const char *_Format) ;
    int fgetchar(void) ;
    int fileno(FILE *_File) ;
    int flushall(void) ;
    int fputchar(int _Ch) ;
    int getw(FILE *_File) ;
    int putw(int _Ch,FILE *_File) ;
    int rmtmp(void) ;
  
  
  
  
  
  
  #pragma pack(pop)
  
  
  #1 "C:/opt/winprog/Xilinx/Vivado_HLS/2015.2/win64/tools/clang/bin/../lib/clang/3.1/../../../x86_64-w64-mingw32/include\\sec_api/stdio_s.h" 1 3
  /**
   * This file has no copyright assigned and is placed in the Public Domain.
   * This file is part of the w64 mingw-runtime package.
   * No warranty is given; refer to the file DISCLAIMER.PD within this package.
   */
  
  
  
  
  #1 "C:/opt/winprog/Xilinx/Vivado_HLS/2015.2/win64/tools/clang/bin/../lib/clang/3.1/../../../x86_64-w64-mingw32/include\\stdio.h" 1 3
  /**
   * This file has no copyright assigned and is placed in the Public Domain.
   * This file is part of the w64 mingw-runtime package.
   * No warranty is given; refer to the file DISCLAIMER.PD within this package.
   */
  #9 "C:/opt/winprog/Xilinx/Vivado_HLS/2015.2/win64/tools/clang/bin/../lib/clang/3.1/../../../x86_64-w64-mingw32/include\\sec_api/stdio_s.h" 2 3
  #509 "C:/opt/winprog/Xilinx/Vivado_HLS/2015.2/win64/tools/clang/bin/../lib/clang/3.1/../../../x86_64-w64-mingw32/include\\stdio.h" 2 3
  
  
  #1 "C:/opt/winprog/Xilinx/Vivado_HLS/2015.2/win64/tools/clang/bin/../lib/clang/3.1/../../../x86_64-w64-mingw32/include\\_mingw_print_pop.h" 1 3
  /**
   * This file has no copyright assigned and is placed in the Public Domain.
   * This file is part of the w64 mingw-runtime package.
   * No warranty is given; refer to the file DISCLAIMER.PD within this package.
   */
  
  /* Define __mingw_<printf> macros.  */
  #511 "C:/opt/winprog/Xilinx/Vivado_HLS/2015.2/win64/tools/clang/bin/../lib/clang/3.1/../../../x86_64-w64-mingw32/include\\stdio.h" 2 3
  #49 "./axi_interfaces.h" 2
  
  
  typedef short din_t;
  typedef short dout_t;
  typedef int dacc_t;
  
  
  
  
  
  void axi_interfaces (dout_t d_o[8 * 4], din_t d_i[8 * 4]);
  #47 "axi_interfaces.c" 2
  
  // The data comes in organized in a single array.
  // - The first sample for the first channel (CHAN)
  // - Then the first sample for the 2nd channel etc.
  // The channels are accumulated independently
  // E.g. For 8 channels:
  // Array Order :  0  1  2  3  4  5  6  7  8     9     10    etc. 16       etc...
  // Sample Order:  A0 B0 C0 D0 E0 F0 G0 H0 A1    B1    C2    etc. A2       etc...
  // Output Order:  A0 B0 C0 D0 E0 F0 G0 H0 A0+A1 B0+B1 C0+C2 etc. A0+A1+A2 etc...
  
  void axi_interfaces (dout_t d_o[8 * 4], din_t d_i[8 * 4]) {_ssdm_SpecArrayDimSize(d_o,8 * 4);_ssdm_SpecArrayDimSize(d_i,8 * 4);
  _ssdm_op_SpecInterface(0, "s_axilite", 0, 0, 0, 0, "", "", "");
  #57 "axi_interfaces.c"
  
  _ssdm_op_SpecInterface(d_i, "axis", 0, 0, 0, 0, "", "", "");
  #57 "axi_interfaces.c"
  
  _ssdm_SpecArrayPartition( d_i, 1, "CYCLIC", 8, "");
  #57 "axi_interfaces.c"
  
  _ssdm_op_SpecInterface(d_o, "axis", 0, 0, 0, 0, "", "", "");
  #57 "axi_interfaces.c"
  
  _ssdm_SpecArrayPartition( d_o, 1, "CYCLIC", 8, "");
  #57 "axi_interfaces.c"
  
   int i, rem;
  
   // Store accumulated data
   static dacc_t acc[8];
  
   // Accumulate each channel
   For_Loop: for (i=0;i<8 * 4;i++) {
  _ssdm_op_SpecPipeline(1, 1, 1, 0, ""); _ssdm_SpecLoopRewind(0, "");
  #64 "axi_interfaces.c"
  
  _ssdm_Unroll(1, 0, 8, "");
  #64 "axi_interfaces.c"
  
    rem=i%8;
    acc[rem] = acc[rem] + d_i[i];
    d_o[i] = acc[rem];
   }
  }
  