Lines Matching refs:CustomFloatFlags
31 public enum CustomFloatFlags enum
84 enum CustomFloatFlags flags = CustomFloatFlags.ieee in CustomFloatParams()
85 ^ ((bits == 80) ? CustomFloatFlags.storeNormalized : CustomFloatFlags.none); in CustomFloatParams()
93 private template CustomFloatParams(uint precision, uint exponentWidth, CustomFloatFlags flags) in CustomFloatParams()
119 template CustomFloat(uint precision, uint exponentWidth, CustomFloatFlags flags = CustomFloatFlags.…
133 …CustomFloat!(10, 5,CustomFloatFlags.ieee) z; // Using the precision, exponent width and fo…
134 …CustomFloat!(10, 5,CustomFloatFlags.ieee, 15) w; // Using the precision, exponent width, forma…
145 …alias Probability = CustomFloat!(4, 4, CustomFloatFlags.ieee^CustomFloatFlags.probability^CustomFl…
173 CustomFloatFlags flags,
198 alias Flags = CustomFloatFlags;
624 CustomFloat!(5, 11, CustomFloatFlags.ieee ^ CustomFloatFlags.signed),
625 CustomFloat!(1, 7, CustomFloatFlags.ieee ^ CustomFloatFlags.signed),
626 … CustomFloat!(4, 3, CustomFloatFlags.ieee | CustomFloatFlags.probability ^ CustomFloatFlags.signed)
739 static assert(CustomFloat!(10, 6, CustomFloatFlags.none).dig == 2);
740 static assert(CustomFloat!(11, 5, CustomFloatFlags.none).dig == 3);
748 static assert(CustomFloat!(10, 6, CustomFloatFlags.none).mant_dig == 10);
755 static assert(CustomFloat!(2, 6, CustomFloatFlags.none).max_exp == 2^^5);
757 static assert(CustomFloat!(6, 10, CustomFloatFlags.none).max_exp == 2^^9);
758 static assert(CustomFloat!(2, 6, CustomFloatFlags.nan).max_exp == 2^^5);
759 static assert(CustomFloat!(6, 10, CustomFloatFlags.nan).max_exp == 2^^9);
767 static assert(CustomFloat!(2, 6, CustomFloatFlags.none).min_exp == -2^^5+1);
768 static assert(CustomFloat!(6, 10, CustomFloatFlags.none).min_exp == -2^^9+1);
769 static assert(CustomFloat!(2, 6, CustomFloatFlags.nan).min_exp == -2^^5+2);
770 static assert(CustomFloat!(6, 10, CustomFloatFlags.nan).min_exp == -2^^9+2);
771 static assert(CustomFloat!(2, 6, CustomFloatFlags.allowDenorm).min_exp == -2^^5+2);
772 static assert(CustomFloat!(6, 10, CustomFloatFlags.allowDenorm).min_exp == -2^^9+2);
780 assert(CustomFloat!(2, 6, CustomFloatFlags.none).max_10_exp == 9);
781 assert(CustomFloat!(6, 10, CustomFloatFlags.none).max_10_exp == 154);
782 assert(CustomFloat!(2, 6, CustomFloatFlags.nan).max_10_exp == 9);
783 assert(CustomFloat!(6, 10, CustomFloatFlags.nan).max_10_exp == 154);
791 assert(CustomFloat!(2, 6, CustomFloatFlags.none).min_10_exp == -9);
792 assert(CustomFloat!(6, 10, CustomFloatFlags.none).min_10_exp == -154);
793 assert(CustomFloat!(2, 6, CustomFloatFlags.nan).min_10_exp == -9);
794 assert(CustomFloat!(6, 10, CustomFloatFlags.nan).min_10_exp == -153);
795 assert(CustomFloat!(2, 6, CustomFloatFlags.allowDenorm).min_10_exp == -9);
796 assert(CustomFloat!(6, 10, CustomFloatFlags.allowDenorm).min_10_exp == -153);
838 static assert(CustomFloat!(3,5, CustomFloatFlags.none).max.exponent == 31);
839 static assert(CustomFloat!(3,5, CustomFloatFlags.none).max.significand == 7);
860 static assert(CustomFloat!(3,5, CustomFloatFlags.none).min_normal.exponent == 0);
861 static assert(CustomFloat!(3,5, CustomFloatFlags.none).min_normal.significand == 4);
891 alias cf = CustomFloat!(3, 5, CustomFloatFlags.none);
902 alias cf = CustomFloat!(3, 5, CustomFloatFlags.nan);
913 alias cf = CustomFloat!(24, 8, CustomFloatFlags.none);
919 private bool isCorrectCustomFloat(uint precision, uint exponentWidth, CustomFloatFlags flags) @safe… in isCorrectCustomFloat()
943 assert(isCorrectCustomFloat(3,4,CustomFloatFlags.ieee));
944 assert(isCorrectCustomFloat(3,5,CustomFloatFlags.none));
945 assert(!isCorrectCustomFloat(3,3,CustomFloatFlags.ieee));
946 assert(isCorrectCustomFloat(64,7,CustomFloatFlags.ieee));
947 assert(!isCorrectCustomFloat(64,4,CustomFloatFlags.ieee));
948 assert(!isCorrectCustomFloat(508,3,CustomFloatFlags.ieee));
949 assert(!isCorrectCustomFloat(3,100,CustomFloatFlags.ieee));
950 assert(!isCorrectCustomFloat(0,7,CustomFloatFlags.ieee));
951 assert(!isCorrectCustomFloat(6,1,CustomFloatFlags.ieee));
952 assert(isCorrectCustomFloat(7,1,CustomFloatFlags.none));
953 assert(!isCorrectCustomFloat(8,0,CustomFloatFlags.none));