#include "vector.h"

vector vnew(float x, float y)
{
    vector a;
    a.x =x;
    a.y =y;
    return a;
}

vector vadd(vector a, vector b)
{
    a.x += b.x;
    a.y += b.y;
    return a;
}

vector vsub(vector a, vector b)
{
    a.x -= b.x;
    a.y -= b.y;
    return a;
}

vector vscale(vector a, float radical)
{
    a.x *= radical;
    a.y *= radical;
    return a;
}

vector vrotate(vector a, vector r)
{
    a.x = a.x * r.y - a.y * r.x;
    a.y = a.x * r.x + a.y * r.y;
    return a;
}

float vmagnitudeSQ(vector delta)
{
    return pow(delta.x,2)+pow(delta.y,2);
}

float vmagnitude(vector delta)
{
    return sqrt(vmagnitudeSQ(delta));
}

vector vnormalize(vector delta)
{
    float mag = vmagnitude(delta);
    delta.x /= mag;
    delta.y /= mag;
    return delta;
}

vector vradian(float r)
{
    vector a;
    a.x = sin(r);
    a.y = cos(r);
    return a;
}
