#ifndef __DSP67X_HELPER_H__ #define __DSP67X_HELPER_H__ /*extern "C"{ #include #include #include #include #include #include }*/ template <> inline Uint32 swap_endian(const Uint32 &v){ union { char bytes[4]; Uint32 num; } result; for(int i = 0, j = (sizeof(Uint32) - 1); i < sizeof(Uint32); i++, j--){ result.bytes[i] = *((char *)&v + j); } return result.num; } /* #ifdef DSPF_DP_BLK_MOVE_H_ template <> Vector3 Vector3::copy() const{ Vector3 copied; DSPF_dp_blk_move(storage->values, copied.storage->values, Vector3::OUT_OF_INDEX); return copied; } #endif #ifdef DSPF_SP_BLK_MOVE_ASM_H_ template <> Vector3 Vector3::copy() const{ Vector3 copied; DSPF_sp_blk_move(storage->values, copied.storage->values, Vector3::OUT_OF_INDEX); return copied; } #endif */ /* #ifdef DSPF_DP_VECSUM_SQ_H_ template <> double Vector3::abs2() const{ return DSPF_dp_vecsum_sq(storage->values, Vector3::OUT_OF_INDEX); } #endif #ifdef DSPF_SP_VECSUM_SQ_ASM_H_ template <> float Vector3::abs2() const{ return DSPF_sp_vecsum_sq(storage->values, Vector3::OUT_OF_INDEX); } #endif #ifdef DSPF_DP_DOTPROD_ASM_H_ template <> double Vector3::innerp(const Vector3 &v) const { return DSPF_dp_dotprod(storage->values, v.storage->values, Vector3::OUT_OF_INDEX); } #endif #ifdef DSPF_SP_DOTPROD_ASM_H_ template <> float Vector3::innerp(const Vector3 &v) const { return DSPF_sp_dotprod(storage->values, v.storage->values, Vector3::OUT_OF_INDEX); } #endif */ #endif /* __DSP67X_HELPER_H__ */