shithub: gofs

ref: 895af3a6c0ece7ed089ee2a5356cb1933a30cca3
dir: /misc.c/

View raw version
#include <u.h>
#include <libc.h>
#include <thread.h>
#include <fcall.h>
#include <9p.h>
#include "dat.h"
#include "fns.h"

Vec
_vec_pos_(Vec a)
{
	Vec r;
	r.x = a.x;
	r.y = a.y;
	return r;
}

Vec
_vec_neg_(Vec a)
{
	Vec r;
	r.x = -a.x;
	r.y = -a.y;
	return r;
}

Vec
_vec_add_(Vec a, Vec b)
{
	a.x += b.x;
	a.y += b.y;
	return a;
}

Vec
_vec_sub_(Vec a, Vec b)
{
	a.x -= b.x;
	a.y -= b.y;
	return a;
}

int
_vec_eq_(Vec a, Vec b)
{
	return a.x == b.x && a.y == b.y;
}

Vec
_vec_asadd_(Vec *a, Vec b)
{
	a->x += b.x;
	a->y += b.y;
	return *a;
}

Vec
_vec_assub_(Vec *a, Vec b)
{
	a->x -= b.x;
	a->y -= b.y;
	return *a;
}