<commit_before>#ifndef LAST_STAND_ENGINE_VECTOR2_H
#define LAST_STAND_ENGINE_VECTOR2_H

#include <bits/stl_bvector.h>

/**
 *
 */
class Vector2
{
public:

    /**
     *
     */
    Vector2 ();

    /**
     *
     */
    Vector2 ( float x, float y );

    /**
     *
     */
    Vector2 ( float val );

    /**
     *
     */
    Vector2 (Vector2& copy);

    /**
     *
     */
    float X;

    /**
     *
     */
    float Y;

    /**
     *
     */
    static Vector2 Zero;

    /**
     *
     */
    static Vector2 One;

    /**
     *
     */
    static Vector2 UnitX;

    /**
     *
     */
    static Vector2 UnitY;

    /**
     *
     */
    float Length ();

    /**
     *
     */
    float LengthSquared ();

    /**
     *
     */
    static float Distance ( const Vector2& vector2a, const Vector2& vector2b );

    /**
     *
     */
    static float DistanceSquared ( const Vector2& vector2a, const Vector2& vector2b );

    /**
     *
     */
    static float Dot ( const Vector2& vector2a, const Vector2& vector2b );

    /**
     *
     */
    static float Cross ( const Vector2& vector2a, Vector2& vector2b );

    /**
     *
     */
    void Normalize ();

    /**
     *
     */
    static Vector2 Normalize ( const Vector2& vector2 );

    /**
     *
     */
    static Vector2 Reflect ( const Vector2&a, const Vector2&b );

    /**
     *
     */
    static Vector2 Min ( const Vector2& vector2a, const Vector2 vector2b );

    /**
     *
     */
    static Vector2 Max ( const Vector2& vector2a, const Vector2 vector2b );

    /**
     *
     */
    static Vector2 Clamp ( const Vector2& vector2a, const Vector2& vector2b );

    /**
     *
     */
    static Vector2 Lerp ( const Vector2& vector2a, const Vector2& vector2b );

    bool operator==(const Vector2 &v) const;
    bool operator!=(const Vector2 &v) const;

    Vector2 operator-() const;
    Vector2 operator-(const Vector2 &v) const;
    Vector2 operator+(const Vector2 &v) const;
    Vector2 operator/(float divider) const;
    Vector2 operator*(float scaleFactor) const;

    Vector2& operator+=(const Vector2 &v);
    Vector2& operator-=(const Vector2 &v);
    Vector2& operator*=(float f);
    Vector2& operator/=(float f);

    typedef std::vector<Vector2> Vector2List;
};

#endif //LAST_STAND_ENGINE_VECTOR2_H<commit_msg>Started Documentation<commit_after>#ifndef LAST_STAND_ENGINE_VECTOR2_H
#define LAST_STAND_ENGINE_VECTOR2_H

#include <vector>

/**
* A Coordinate Point on the screen that has two instance Variables (X & Y).
*/
class Vector2
{
public:

/**
 * The X value value of the Vector2.
 */
    float X;

/**
 * The Y value of the Vector2.
 */
    float Y;

    /**
    * Basic Constructor for a Vector2 object, sets values to 0,0.
    */
    Vector2 ();

    /**
    * Complete Constructor for a Vector2
    *
    * @param x : X value of the Vector2.
    * @param y : Y value of the Vector2.
    */
    Vector2 ( float x, float y );

    /**
    * Sets the x and y values to the same value.
    *
    * @param val : value going into both x and y.
    */
    Vector2 ( float val );

    /**
    * Copies a Vector2.
    *
    * @param copy : an exciting Vector2 with desired values.
    */
    Vector2 (Vector2& copy);

    /**
     * Vector2 with the values (0,0).
     */
    static Vector2 Zero;

    /**
     * Vector2 with the values (1,1).
     */
    static Vector2 One;

    /**
     * Vector2 with the values (1,0).
     */
    static Vector2 UnitX;

    /**
     * Vector2 with the values (0,1).
     */
    static Vector2 UnitY;

    /**
     *
     *
     * @returns :
     */
    float Length ();

    /**
     *
     *
     * @returns
     */
    float LengthSquared ();

    /**
     *
     *
     * @param
     * @param
     *
     * @returns
     */
    static float Distance ( const Vector2& vector2a, const Vector2& vector2b );

    /**
     *
     *
     * @param
     * @param
     *
     * @returns
     */
    static float DistanceSquared ( const Vector2& vector2a, const Vector2& vector2b );

    /**
     *
     *
     * @param
     * @param
     *
     * @returns
     */
    static float Dot ( const Vector2& vector2a, const Vector2& vector2b );

    /**
     *
     *
     * @param
     * @param
     *
     * @returns
     */
    static float Cross ( const Vector2& vector2a, Vector2& vector2b );

    /**
     *
     *
     *  @returns
     */
    void Normalize ();

    /**
     *
     *
     * @param
     *
     * @returns
     */
    static Vector2 Normalize ( const Vector2& vector2 );

    /**
     *
     *
     * @param
     * @param
     *
     * @returns
     */
    static Vector2 Reflect ( const Vector2&a, const Vector2&b );

    /**
     *
     *
     * @param
     * @param
     *
     * @returns
     */
    static Vector2 Min ( const Vector2& vector2a, const Vector2 vector2b );

    /**
     *
     *
     * @param
     * @param
     *
     * @returns
     */
    static Vector2 Max ( const Vector2& vector2a, const Vector2 vector2b );

    /**
     *
     *
     * @param
     * @param
     *
     * @returns
     */
    static Vector2 Clamp ( const Vector2& vector2a, const Vector2& vector2b );

    /**
     *
     *
     * @param
     * @param
     *
     * @returns
     */
    static Vector2 Lerp ( const Vector2& vector2a, const Vector2& vector2b );

    bool operator==(const Vector2 &v) const;
    bool operator!=(const Vector2 &v) const;

    Vector2 operator-() const;
    Vector2 operator-(const Vector2 &v) const;
    Vector2 operator+(const Vector2 &v) const;
    Vector2 operator/(float divider) const;
    Vector2 operator*(float scaleFactor) const;

    Vector2& operator+=(const Vector2 &v);
    Vector2& operator-=(const Vector2 &v);
    Vector2& operator*=(float f);
    Vector2& operator/=(float f);

    typedef std::vector<Vector2> Vector2List;
};

#endif //LAST_STAND_ENGINE_VECTOR2_H
{'fraction_non_alphanumeric': 0.1286031042128603, 'fraction_numerical': 0.02831315026436978, 'mean_word_length': 1.7312529110386585, 'pattern_counts': {'":': 0, '<': 7, '<?xml version=': 0, '>': 7, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '742309', 'n_tokens_mistral': 1996, 'n_tokens_neox': 1923, 'n_words': 491}