Files
Coleman-Code/COM380/Project5/GambleKit/Engine/Utils/GkMaths.cpp
T
Amrit Panesar 39ee821f54 start 380 project5
changes to 380 project 4
changes to 350 project 2

Signed-off-by: Amrit Panesar <apanesar@4195tech.com>
2015-05-06 10:18:39 -07:00

92 lines
2.1 KiB
C++

//--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
// GambleKit Copyright (C) 2014 Ivan Donev
//
// This library is free software; you can redistribute it and/or modify it under the terms of 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.
//
// 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 GNU Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
//
// contact: gamblekit@gmail.com
//--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
#include "GkMaths.h"
#include <stdlib.h>
#include <time.h>
#include <cmath>
GkMaths::GkMaths(void)
{
}
GkMaths::~GkMaths(void)
{
}
int GkMaths::Min(int a, int b)
{
if (a < b)
return a;
return b;
}
int GkMaths::Max(int a, int b)
{
if (a > b)
return a;
return b;
}
float GkMaths::Max(float a, float b)
{
if (a > b)
return a;
return b;
}
int GkMaths::Trim(int x, int min, int max)
{
if (x < min)
return min;
if (x > max)
return max;
return x;
}
int GkMaths::Sign(int x)
{
return x > 0 ? 1 : x < 0 ? -1 : 0;
}
float GkMaths::Sign(float x)
{
return x > 0 ? 1.0f : x < 0 ? -1.0f : 0.0f;
}
float GkMaths::Abs(float x)
{
return x >= 0 ? x : -x;
}
int GkMaths::Abs(int x)
{
return x >= 0 ? x : -x;
}
int GkMaths::Random(int range)
{
return rand() % range;
}
void GkMaths::Randomize()
{
srand((unsigned int)time(NULL));
}