why do you need conversion and division to be together?
why do you need conversion and division to be together?
Vector3 / float is a very common pattern and useless with most integer valuesSqrt(-1.0f) produces NaN, but it would have to throw for integerDistance depends on if it's something like straight line distance or notVector represents what is functionally a magnitude (length) + directionVector and Point can be usefulVector is largely only beneficial with floating-point, due to the operations it has to supportPoint (or Coordinate or ...) are less mathematical and can have core functionality filled in nicely stillVector2<T> where T : IFloatingPoint<T>Point2<T> where T : INumber<T>Point2<int> -> Vector2<float> for examplevector is that it has a lengthlength, you don't have a vectorPoint/CoordinateVector<T> and so must support any Vector<T>, which means it might be lossless.AsVector3() (or some qualified name that disambiguates here)
Vector2<T> where T : IFloatingPointIeee754<T>Point2<T> where T : INumber<T> is appropriate won't be as easyISimdVector<TSelf, T> is the thing I really want to finish next (might be internal only until language features come along)Vector2<T> in DecemberVector3/4<T>, Quaternion<T>, Plane<T>, Matrix4x4<T>Complex<T>TensorPrimitives workTensorPrimitivesVector2<T> where T : IFloatingPointIeee754<T>ISimdVector<TSelf, T>Vector2<T>Vector3/4<T>Quaternion<T>Plane<T>Matrix4x4<T>Complex<T>TensorPrimitivesTensorPrimitives