use super::Vec2Swizzles;
use crate::{IVec2, IVec3, IVec4};
impl Vec2Swizzles for IVec2 {
type Vec3 = IVec3;
type Vec4 = IVec4;
#[inline]
fn xxxx(self) -> IVec4 {
IVec4::new(self.x, self.x, self.x, self.x)
}
#[inline]
fn xxxy(self) -> IVec4 {
IVec4::new(self.x, self.x, self.x, self.y)
}
#[inline]
fn xxyx(self) -> IVec4 {
IVec4::new(self.x, self.x, self.y, self.x)
}
#[inline]
fn xxyy(self) -> IVec4 {
IVec4::new(self.x, self.x, self.y, self.y)
}
#[inline]
fn xyxx(self) -> IVec4 {
IVec4::new(self.x, self.y, self.x, self.x)
}
#[inline]
fn xyxy(self) -> IVec4 {
IVec4::new(self.x, self.y, self.x, self.y)
}
#[inline]
fn xyyx(self) -> IVec4 {
IVec4::new(self.x, self.y, self.y, self.x)
}
#[inline]
fn xyyy(self) -> IVec4 {
IVec4::new(self.x, self.y, self.y, self.y)
}
#[inline]
fn yxxx(self) -> IVec4 {
IVec4::new(self.y, self.x, self.x, self.x)
}
#[inline]
fn yxxy(self) -> IVec4 {
IVec4::new(self.y, self.x, self.x, self.y)
}
#[inline]
fn yxyx(self) -> IVec4 {
IVec4::new(self.y, self.x, self.y, self.x)
}
#[inline]
fn yxyy(self) -> IVec4 {
IVec4::new(self.y, self.x, self.y, self.y)
}
#[inline]
fn yyxx(self) -> IVec4 {
IVec4::new(self.y, self.y, self.x, self.x)
}
#[inline]
fn yyxy(self) -> IVec4 {
IVec4::new(self.y, self.y, self.x, self.y)
}
#[inline]
fn yyyx(self) -> IVec4 {
IVec4::new(self.y, self.y, self.y, self.x)
}
#[inline]
fn yyyy(self) -> IVec4 {
IVec4::new(self.y, self.y, self.y, self.y)
}
#[inline]
fn xxx(self) -> IVec3 {
IVec3::new(self.x, self.x, self.x)
}
#[inline]
fn xxy(self) -> IVec3 {
IVec3::new(self.x, self.x, self.y)
}
#[inline]
fn xyx(self) -> IVec3 {
IVec3::new(self.x, self.y, self.x)
}
#[inline]
fn xyy(self) -> IVec3 {
IVec3::new(self.x, self.y, self.y)
}
#[inline]
fn yxx(self) -> IVec3 {
IVec3::new(self.y, self.x, self.x)
}
#[inline]
fn yxy(self) -> IVec3 {
IVec3::new(self.y, self.x, self.y)
}
#[inline]
fn yyx(self) -> IVec3 {
IVec3::new(self.y, self.y, self.x)
}
#[inline]
fn yyy(self) -> IVec3 {
IVec3::new(self.y, self.y, self.y)
}
#[inline]
fn xx(self) -> Self {
Self::new(self.x, self.x)
}
#[inline]
fn yx(self) -> Self {
Self::new(self.y, self.x)
}
#[inline]
fn yy(self) -> Self {
Self::new(self.y, self.y)
}
}