you might need to use IFloatingPointIEEE754 instead of IFloatingPoint btw
you might need to use IFloatingPointIEEE754 instead of IFloatingPoint btw

IFloatingPointXYZ<> interface directly, instead only requiring IRootFunctions<T> or ITrigonometricFunctions<T> etcVectorX<T> type to another VectorX<T> type?T?CreateChecked is your best friendfloat.CreateChecked existed in my older generic math implementationsConvert.ChangeType or whatever the similar function is calledCreateChecked is much better, i use it when providing cast operators between system.numerics and my generic typesCreateChecked simply because it reduces the risk of undefined behaviourVectorX<int> with an X value of 30000 into a VectorX<byte> it will error, just like how that would normally happenT.Zero and T.One exists
IFloatingPointXYZ<>IRootFunctions<T>ITrigonometricFunctions<T>VectorX<T>VectorX<T>TCreateCheckedCreateCheckedCreateCheckedfloat.CreateCheckedConvert.ChangeTypeVectorX<int>VectorX<byte>T.ZeroT.One public interface IFloatingPointIeee754<TSelf>
: IExponentialFunctions<TSelf>,
IFloatingPoint<TSelf>,
IHyperbolicFunctions<TSelf>,
ILogarithmicFunctions<TSelf>,
IPowerFunctions<TSelf>,
IRootFunctions<TSelf>,
ITrigonometricFunctions<TSelf>
where TSelf : IFloatingPointIeee754<TSelf>?