コード例 #1
0
 private int CompareFloat(FloatDatum x, FloatDatum y)
 {
     return(Comparer <long> .Default.Compare
            (
                BitConverter.DoubleToInt64Bits(x.Value),
                BitConverter.DoubleToInt64Bits(y.Value)
            ));
 }
コード例 #2
0
 private bool EqualFloat(FloatDatum x, FloatDatum y)
 {
     return(string.Compare
            (
                Convert.ToBase64String(BitConverter.GetBytes(x.Value)),
                Convert.ToBase64String(BitConverter.GetBytes(y.Value)),
                StringComparison.Ordinal
            ) == 0);
 }
コード例 #3
0
 public bool VisitFloat(FloatDatum d)
 {
     bw.Write(B_FLOAT);
     bw.Write(d.Value);
     return(true);
 }
コード例 #4
0
 public State VisitFloat(State state, FloatDatum d) => state;
コード例 #5
0
 public string VisitFloat(FloatDatum d)
 {
     return(d.Value.ToString("G"));
 }
コード例 #6
0
 public SetDatum VisitFloat(FloatDatum d) => SetDatum.Empty;
コード例 #7
0
 public string VisitFloat(FloatDatum d)
 {
     return("f" + Convert.ToBase64String(BitConverter.GetBytes(d.Value)));
 }