return a > b? a: b;
}
+static inline float vg_clampf( float a, float min, float max )
+{
+ return vg_minf( max, vg_maxf( a, min ) );
+}
+
#define VG_MIN( A, B ) ((A)<(B)?(A):(B))
#define VG_MAX( A, B ) ((A)>(B)?(A):(B))
d[0] = a[0]+b[0]*s; d[1] = a[1]+b[1]*s;
}
+static inline float v2_length2( v2f a )
+{
+ return a[0]*a[0] + a[1]*a[1];
+}
+
+static inline float v2_length( v2f a )
+{
+ return sqrtf( v2_length2( a ) );
+}
+
+static inline float v2_dist2( v2f a, v2f b )
+{
+ v2f delta;
+ v2_sub( a, b, delta );
+ return v2_length2( delta );
+}
+
+static inline float v2_dist( v2f a, v2f b )
+{
+ return sqrtf( v2_dist2( a, b ) );
+}
+
// Vector 3
// ==================================================================================================================