summaryrefslogtreecommitdiffstats
path: root/thirdparty/bullet/BulletCollision/Gimpact/gim_memory.h
diff options
context:
space:
mode:
Diffstat (limited to 'thirdparty/bullet/BulletCollision/Gimpact/gim_memory.h')
-rw-r--r--thirdparty/bullet/BulletCollision/Gimpact/gim_memory.h177
1 files changed, 0 insertions, 177 deletions
diff --git a/thirdparty/bullet/BulletCollision/Gimpact/gim_memory.h b/thirdparty/bullet/BulletCollision/Gimpact/gim_memory.h
deleted file mode 100644
index fffbfa23d8..0000000000
--- a/thirdparty/bullet/BulletCollision/Gimpact/gim_memory.h
+++ /dev/null
@@ -1,177 +0,0 @@
-#ifndef GIM_MEMORY_H_INCLUDED
-#define GIM_MEMORY_H_INCLUDED
-/*! \file gim_memory.h
-\author Francisco Leon Najera
-*/
-/*
------------------------------------------------------------------------------
-This source file is part of GIMPACT Library.
-
-For the latest info, see http://gimpact.sourceforge.net/
-
-Copyright (c) 2006 Francisco Leon Najera. C.C. 80087371.
-email: projectileman@yahoo.com
-
- This library is free software; you can redistribute it and/or
- modify it under the terms of EITHER:
- (1) The GNU Lesser General Public License as published by the Free
- Software Foundation; either version 2.1 of the License, or (at
- your option) any later version. The text of the GNU Lesser
- General Public License is included with this library in the
- file GIMPACT-LICENSE-LGPL.TXT.
- (2) The BSD-style license that is included with this library in
- the file GIMPACT-LICENSE-BSD.TXT.
- (3) The zlib/libpng license that is included with this library in
- the file GIMPACT-LICENSE-ZLIB.TXT.
-
- This library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the files
- GIMPACT-LICENSE-LGPL.TXT, GIMPACT-LICENSE-ZLIB.TXT and GIMPACT-LICENSE-BSD.TXT for more details.
-
------------------------------------------------------------------------------
-*/
-
-#include "gim_math.h"
-#include <string.h>
-
-#ifdef PREFETCH
-#include <xmmintrin.h> // for prefetch
-#define pfval 64
-#define pfval2 128
-//! Prefetch 64
-#define pf(_x, _i) _mm_prefetch((void *)(_x + _i + pfval), 0)
-//! Prefetch 128
-#define pf2(_x, _i) _mm_prefetch((void *)(_x + _i + pfval2), 0)
-#else
-//! Prefetch 64
-#define pf(_x, _i)
-//! Prefetch 128
-#define pf2(_x, _i)
-#endif
-
-///Functions for manip packed arrays of numbers
-#define GIM_COPY_ARRAYS(dest_array, source_array, element_count) \
- { \
- for (GUINT _i_ = 0; _i_ < element_count; ++_i_) \
- { \
- dest_array[_i_] = source_array[_i_]; \
- } \
- }
-
-#define GIM_COPY_ARRAYS_1(dest_array, source_array, element_count, copy_macro) \
- { \
- for (GUINT _i_ = 0; _i_ < element_count; ++_i_) \
- { \
- copy_macro(dest_array[_i_], source_array[_i_]); \
- } \
- }
-
-#define GIM_ZERO_ARRAY(array, element_count) \
- { \
- for (GUINT _i_ = 0; _i_ < element_count; ++_i_) \
- { \
- array[_i_] = 0; \
- } \
- }
-
-#define GIM_CONSTANT_ARRAY(array, element_count, constant) \
- { \
- for (GUINT _i_ = 0; _i_ < element_count; ++_i_) \
- { \
- array[_i_] = constant; \
- } \
- }
-
-///Function prototypes to allocate and free memory.
-typedef void *gim_alloc_function(size_t size);
-typedef void *gim_alloca_function(size_t size); //Allocs on the heap
-typedef void *gim_realloc_function(void *ptr, size_t oldsize, size_t newsize);
-typedef void gim_free_function(void *ptr);
-
-///Memory Function Handlers
-///set new memory management functions. if fn is 0, the default handlers are used.
-void gim_set_alloc_handler(gim_alloc_function *fn);
-void gim_set_alloca_handler(gim_alloca_function *fn);
-void gim_set_realloc_handler(gim_realloc_function *fn);
-void gim_set_free_handler(gim_free_function *fn);
-
-///get current memory management functions.
-gim_alloc_function *gim_get_alloc_handler(void);
-gim_alloca_function *gim_get_alloca_handler(void);
-gim_realloc_function *gim_get_realloc_handler(void);
-gim_free_function *gim_get_free_handler(void);
-
-///Standar Memory functions
-void *gim_alloc(size_t size);
-void *gim_alloca(size_t size);
-void *gim_realloc(void *ptr, size_t oldsize, size_t newsize);
-void gim_free(void *ptr);
-
-#if defined(_WIN32) && !defined(__MINGW32__) && !defined(__CYGWIN__)
-#define GIM_SIMD_MEMORY 1
-#endif
-
-//! SIMD POINTER INTEGER
-#define SIMD_T GUINT64
-//! SIMD INTEGER SIZE
-#define SIMD_T_SIZE sizeof(SIMD_T)
-
-inline void gim_simd_memcpy(void *dst, const void *src, size_t copysize)
-{
-#ifdef GIM_SIMD_MEMORY
- /*
-//'long long int' is incompatible with visual studio 6...
- //copy words
- SIMD_T * ui_src_ptr = (SIMD_T *)src;
- SIMD_T * ui_dst_ptr = (SIMD_T *)dst;
- while(copysize>=SIMD_T_SIZE)
- {
- *(ui_dst_ptr++) = *(ui_src_ptr++);
- copysize-=SIMD_T_SIZE;
- }
- if(copysize==0) return;
-*/
-
- char *c_src_ptr = (char *)src;
- char *c_dst_ptr = (char *)dst;
- while (copysize > 0)
- {
- *(c_dst_ptr++) = *(c_src_ptr++);
- copysize--;
- }
- return;
-#else
- memcpy(dst, src, copysize);
-#endif
-}
-
-template <class T>
-inline void gim_swap_elements(T *_array, size_t _i, size_t _j)
-{
- T _e_tmp_ = _array[_i];
- _array[_i] = _array[_j];
- _array[_j] = _e_tmp_;
-}
-
-template <class T>
-inline void gim_swap_elements_memcpy(T *_array, size_t _i, size_t _j)
-{
- char _e_tmp_[sizeof(T)];
- gim_simd_memcpy(_e_tmp_, &_array[_i], sizeof(T));
- gim_simd_memcpy(&_array[_i], &_array[_j], sizeof(T));
- gim_simd_memcpy(&_array[_j], _e_tmp_, sizeof(T));
-}
-
-template <int SIZE>
-inline void gim_swap_elements_ptr(char *_array, size_t _i, size_t _j)
-{
- char _e_tmp_[SIZE];
- _i *= SIZE;
- _j *= SIZE;
- gim_simd_memcpy(_e_tmp_, _array + _i, SIZE);
- gim_simd_memcpy(_array + _i, _array + _j, SIZE);
- gim_simd_memcpy(_array + _j, _e_tmp_, SIZE);
-}
-
-#endif // GIM_MEMORY_H_INCLUDED