ShaderUtils.h
Go to the documentation of this file.
00001 
00002 #ifndef __UTILS_H__
00003 #define __UTILS_H__
00004 
00005 #include <stdio.h>
00006 #include <stdlib.h>
00007 
00008 namespace Tracking{
00009 
00010 /* allocate (and free) aligned memory, align must be power of 2 */
00011 void *malloc_align(size_t size, int align);
00012 void free_align(void *ptr);
00013 
00014 /* read entierely a file, returning a 0 terminated string */
00015 char *read_text_file(const char* file);
00016 
00017 /* offset of a membet in a structure */
00018 #undef OFFSETOF
00019 #define OFFSETOF(TYPE, MEMBER) (((size_t)&((TYPE *)1)->MEMBER) - 1)
00020 
00021 /* some templates */
00022 template<typename T>
00023 T Max(T a,T b)
00024 {
00025     return a>b?a:b;
00026 }
00027 
00028 template<typename T>
00029 T Min(T a,T b)
00030 {
00031     return a<b?a:b;
00032 }
00033 
00034 template<typename T>
00035 T Abs(T a)
00036 {
00037     return a>0?a:-a;
00038 }
00039 
00040 template<typename T>
00041 T Square(T a)
00042 {
00043     return a*a;
00044 }
00045 
00046 template<typename T>
00047 T Sign(T a)
00048 {
00049     return a==0?0:a>0?1:-1;
00050 }
00051 
00052 } /* namespace */
00053 
00054 #endif //__UTILS_H__


blort
Author(s): Michael Zillich, Thomas Mörwald, Johann Prankl, Andreas Richtsfeld, Bence Magyar (ROS version)
autogenerated on Thu Jan 2 2014 11:38:25