Quantcast
Channel: Tools
Viewing all articles
Browse latest Browse all 91752

Forum Post: RE: #306 no instance of function template for C++

$
0
0

[quote user="SANGILI KUMAR"]I tried int32(50000)[/quote]

The source code you sent me changes it to

oct_sign(dom(ori_mag[x]), complex<int32>(50000))

but that generates an error because the template function oct_sign has prototype

oct_sign(const std::complex<T> & t, const T &)

Instead try

oct_sign(dom(ori_mag[x]), int32(50000))

However, your real problem is in dpTypes.h, where you have the following typedefs:

typedef unsigned char  uint8; typedef unsigned short uint16; typedef unsigned int   uint32; typedef signed char    int8; typedef signed short   int16; typedef signed int     int32; typedef long long               int64; typedef unsigned long long      uint64; 

on C5500, "int" is 16 bits. You must change the definition of int32 and uint32 to this:

#ifdef __TMS320C55X__ typedef unsigned long uint32; typedef   signed long  int32; #else typedef unsigned int  uint32; typedef   signed int   int32; #endif 

Furthermore, C5500 does not have either an 8 bit or 64 bit type, so you must beware using these typedefs. Code using them will compile, but will not have exactly the number of bits the code expects.  This may lead to computation errors that are undetectable at compilation time.


Viewing all articles
Browse latest Browse all 91752

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>