#include "pip.h"
void _() {
	
//! [swap]
int v1 = 1, v2 = 2;
piCout << v1 << v2; // 1 2
piSwap<int>(v1, v2);
piCout << v1 << v2; // 2 1
//! [swap]
//! [round]
piCout << piRoundf(0.6f) << piRoundd(0.2); // 1 0
piCout << piRoundf(-0.6f) << piRoundd(-0.2); // -1 0
//! [round]
//! [floor]
piCout << piFloorf(0.6f) << piFloorf(0.2); // 0 0
piCout << piFloorf(-0.6f) << piFloorf(-0.2f); // -1 -1
//! [floor]
//! [ceil]
piCout << piCeilf(0.6f) << piCeilf(0.2); // 1 1
piCout << piCeilf(-0.6f) << piCeilf(-0.2f); // 0 0
//! [ceil]
//! [abs]
piCout << piAbsi(5) << piAbsi(-11); // 5 11
piCout << piAbsf(-0.6f) << piAbsf(-0.2f); // 0.6 0.2
//! [abs]
//! [min2]
piCout << piMini(5, 1); // 1
piCout << piMinf(-0.6f, -0.2f); // -0.6
//! [min2]
//! [min3]
piCout << piMini(5, 1, -1); // -1
piCout << piMinf(-0.6f, -0.2f, 1.f); // -0.6
//! [min3]
//! [max2]
piCout << piMaxi(5, 1); // 5
piCout << piMaxf(-0.6f, -0.2f); // -0.2
//! [max2]
//! [max3]
piCout << piMaxi(5, 1, -1); // 5
piCout << piMaxf(-0.6f, -0.2f, 1.f); // 1
//! [max3]
//! [clamp]
piCout << piClampf(-5, -3, 2); // -3
piCout << piClampf(1, -3, 2); // 1
piCout << piClampf(5, -3, 2); // 2
//! [clamp]
//! [flags]
enum TestEnum {First = 0x1, Second = 0x2, Third = 0x4};
PIFlags<TestEnum> testFlags(First);
testFlags |= Third;
piCout << testFlags[First] << testFlags[Second] << testFlags[Third]; // 1 0 1
piCout << (int)testFlags; // 5
//! [flags]

};
