00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef _minmax_h
00019 #ifdef _GNUG_
00020 #pragma interface
00021 #endif
00022 #define _minmax_h 1
00023
00024 namespace linalg
00025 {
00026
00027 inline char min(char a, char b) { return (a < b)?a:b;}
00028 #ifndef _G_BROKEN_SIGNED_CHAR
00029 inline signed char min(signed char a, signed char b) { return (a < b)?a:b;}
00030 #endif
00031 inline unsigned char min(unsigned char a, unsigned char b) {return (a<b)?a:b;}
00032
00033 inline short min(short a, short b) {return (a < b) ?a:b;}
00034 inline unsigned short min(unsigned short a, unsigned short b) {return (a < b)?a:b;}
00035
00036 inline int min(int a, int b) {return (a < b)?a:b;}
00037 inline unsigned int min(unsigned int a, unsigned int b) {return (a < b)?a:b;}
00038
00039 inline long min(long a, long b) {return (a < b)?a:b;}
00040 inline unsigned long min(unsigned long a, unsigned long b) {return (a<b)?a:b;}
00041
00042 inline float min(float a, float b) {return (a < b)?a:b;}
00043
00044 inline double min(double a, double b) {return (a < b)?a:b;}
00045
00046 inline char max(char a, char b) { return (a > b)?a:b;}
00047 #ifndef _G_BROKEN_SIGNED_CHAR
00048 inline signed char max(signed char a, signed char b) {return (a > b)?a:b;}
00049 #endif
00050 inline unsigned char max(unsigned char a, unsigned char b) {return (a>b)?a:b;}
00051
00052 inline short max(short a, short b) {return (a > b) ?a:b;}
00053 inline unsigned short max(unsigned short a, unsigned short b) {return (a > b)?a:b;}
00054
00055 inline int max(int a, int b) {return (a > b)?a:b;}
00056 inline unsigned int max(unsigned int a, unsigned int b) {return (a > b)?a:b;}
00057
00058 inline long max(long a, long b) {return (a > b)?a:b;}
00059 inline unsigned long max(unsigned long a, unsigned long b) {return (a>b)?a:b;}
00060
00061 inline float max(float a, float b) {return (a > b)?a:b;}
00062
00063 inline double max(double a, double b) {return (a > b)?a:b;}
00064
00065 #endif
00066 }