/// <summary> /// [ -1 ... 1 ] へ射影します。 /// </summary> /// <param name="a">元値</param> /// <param name="all_range">始域全域を定義域とするか</param> /// <returns>射影された値</returns> public static double ToSNorm(this UInt16 a, bool all_range) => all_range ? a.ToSNorm(Abs((double)Int16.MinValue ) * 0.5 + (double)Int16.MaxValue * 0.5) : a.ToSNorm() ;