
fj.data.vector.V Maven / Gradle / Ivy
package fj.data.vector;
import fj.F0;
import fj.F2;
import fj.F3;
import fj.F4;
import fj.F5;
import fj.P;
import fj.P1;
/**
* Functions across vectors.
*/
public final class V {
private V() {
}
/**
* Puts elements in a vector-2.
*
* @param a1 An element to put in a vector.
* @param a2 An element to put in a vector.
* @return The vector-2.
*/
public static V2 v(final A a1, final A a2) {
return V2.p(P.p(a1, a2));
}
/**
* Puts elements in a vector-2.
*
* @param a1 An element to put in a vector.
* @param a2 An element to put in a vector.
* @return The vector-2.
*/
public static V2 v(final F0 a1, final F0 a2) {
return V2.p(P.lazy(a1, a2));
}
/**
* Returns a function that puts elements in a vector-2.
*
* @return A function that puts elements in a vector-2.
*/
public static F2> v2() {
return V::v;
}
/**
* Puts elements in a vector-3.
*
* @param a1 An element to put in a vector.
* @param a2 An element to put in a vector.
* @param a3 An element to put in a vector.
* @return The vector-3.
*/
public static V3 v(final A a1, final A a2, final A a3) {
return V3.p(P.p(a1, a2, a3));
}
/**
* Puts elements in a vector-3.
*
* @param a1 An element to put in a vector.
* @param a2 An element to put in a vector.
* @param a3 An element to put in a vector.
* @return The vector-3.
*/
public static V3 v(final P1 a1, final F0 a2, final F0 a3) {
return V3.cons(a1, v(a2, a3));
}
/**
* Returns a function that puts elements in a vector-3.
*
* @return A function that puts elements in a vector-3.
*/
public static F3> v3() {
return V::v;
}
/**
* Puts elements in a vector-4.
*
* @param a1 An element to put in a vector.
* @param a2 An element to put in a vector.
* @param a3 An element to put in a vector.
* @param a4 An element to put in a vector.
* @return The vector-4.
*/
public static V4 v(final A a1, final A a2, final A a3, final A a4) {
return V4.p(P.p(a1, a2, a3, a4));
}
/**
* Puts elements in a vector-4.
*
* @param a1 An element to put in a vector.
* @param a2 An element to put in a vector.
* @param a3 An element to put in a vector.
* @param a4 An element to put in a vector.
* @return The vector-4.
*/
public static V4 v(final P1 a1, final P1 a2, final F0 a3, final F0 a4) {
return V4.cons(a1, v(a2, a3, a4));
}
/**
* Returns a function that puts elements in a vector-4.
*
* @return A function that puts elements in a vector-4.
*/
public static F4> v4() {
return V::v;
}
/**
* Puts elements in a vector-5.
*
* @param a1 An element to put in a vector.
* @param a2 An element to put in a vector.
* @param a3 An element to put in a vector.
* @param a4 An element to put in a vector.
* @param a5 An element to put in a vector.
* @return The vector-5.
*/
public static V5 v(final A a1, final A a2, final A a3, final A a4, final A a5) {
return V5.p(P.p(a1, a2, a3, a4, a5));
}
/**
* Puts elements in a vector-5.
*
* @param a1 An element to put in a vector.
* @param a2 An element to put in a vector.
* @param a3 An element to put in a vector.
* @param a4 An element to put in a vector.
* @param a5 An element to put in a vector.
* @return The vector-5.
*/
public static V5 v(final P1 a1, final P1 a2, final P1 a3, final F0 a4, final F0 a5) {
return V5.cons(a1, v(a2, a3, a4, a5));
}
/**
* Returns a function that puts elements in a vector-5.
*
* @return A function that puts elements in a vector-5.
*/
public static F5> v5() {
return V::v;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy