#ifndef NE10_init_H
#define NE10_init_H
+#ifdef __cplusplus
+extern "C" {
+#endif
+
/*!
This routine returns NE10_OK if the running platform supports NEON, otherwise it returns NE10_ERR
*/
*/
extern arm_result_t NE10_init();
+#ifdef __cplusplus
+}
+#endif
+
#endif
Each function is implemented in C, ARM Assembly and NEON code as a
basis for comparison. Assembly versions, while efficient, are not
intended as best-practice examples.
-
+ * Added support for C++
The routines that are provided by this library are all declared in this header file.
*/
-#include "../headers/versionheader.h"
+//#include "../headers/versionheader.h"
#include <NE10_types.h>
#include <NE10_c.h>
#include <NE10_asm.h>
#ifndef NE10_H
#define NE10_H
+#ifdef __cplusplus
+extern "C" {
+#endif
+
///////////////////////////
// function prototypes:
///////////////////////////
extern arm_result_t (*multrans_mat3x3f)(arm_mat3x3f_t * dst, arm_mat3x3f_t * src1, arm_mat3x3f_t * src2, unsigned int count);
extern arm_result_t (*multrans_mat2x2f)(arm_mat2x2f_t * dst, arm_mat2x2f_t * src1, arm_mat2x2f_t * src2, unsigned int count);
+#ifdef __cplusplus
+}
+#endif
+
#endif
* NE10 Library : inc/NE10_asm.h
*/
-#include "../headers/versionheader.h"
+//#include "../headers/versionheader.h"
#ifndef NE10_ASM_H
#define NE10_ASM_H
+#ifdef __cplusplus
+extern "C" {
+#endif
///////////////////////////
// function prototypes:
extern arm_result_t cross_vec3f_asm(arm_vec3f_t * dst, arm_vec3f_t * src1, arm_vec3f_t * src2, unsigned int count);
-
// ## Matrix-Constant Arithmetic ##
// arm_mat4x4f_t
extern arm_result_t multrans_mat3x3f_asm(arm_mat3x3f_t * dst, arm_mat3x3f_t * src1, arm_mat3x3f_t * src2, unsigned int count);
extern arm_result_t multrans_mat2x2f_asm(arm_mat2x2f_t * dst, arm_mat2x2f_t * src1, arm_mat2x2f_t * src2, unsigned int count);
+#ifdef __cplusplus
+}
+#endif
+
#endif
* NE10 Library : inc/NE10_c.h
*/
-#include "../headers/versionheader.h"
+//#include "../headers/versionheader.h"
#include <NE10_types.h>
#ifndef NE10_C_H
#define NE10_C_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
///////////////////////////
// function prototypes:
///////////////////////////
extern arm_result_t multrans_mat3x3f_c(arm_mat3x3f_t * dst, arm_mat3x3f_t * src1, arm_mat3x3f_t * src2, unsigned int count);
extern arm_result_t multrans_mat2x2f_c(arm_mat2x2f_t * dst, arm_mat2x2f_t * src1, arm_mat2x2f_t * src2, unsigned int count);
+#ifdef __cplusplus
+}
+#endif
+
#endif
* NE10 Library : inc/NE10_neon.h
*/
-#include "../headers/versionheader.h"
+//#include "../headers/versionheader.h"
#ifndef NE10_NEON_H
#define NE10_NEON_H
+#ifdef __cplusplus
+extern "C" {
+#endif
+
///////////////////////////
// function prototypes:
///////////////////////////
extern arm_result_t multrans_mat3x3f_neon(arm_mat3x3f_t * dst, arm_mat3x3f_t * src1, arm_mat3x3f_t * src2, unsigned int count);
extern arm_result_t multrans_mat2x2f_neon(arm_mat2x2f_t * dst, arm_mat2x2f_t * src1, arm_mat2x2f_t * src2, unsigned int count);
+#ifdef __cplusplus
+}
+#endif
+
#endif