cleanup
[pspp] / rust / src / endian.rs
index bf861af2d18765697eab1e078f5ff3fd374d43a8..3692180dbaa098d847e005b9df3b5aa4de47d847 100644 (file)
@@ -19,7 +19,7 @@ impl Endian {
         match (as_big == expected_value, as_little == expected_value) {
             (true, false) => Some(Endian::Big),
             (false, true) => Some(Endian::Little),
-            _ => None
+            _ => None,
         }
     }
 
@@ -29,7 +29,7 @@ impl Endian {
         match (as_big == expected_value, as_little == expected_value) {
             (true, false) => Some(Endian::Big),
             (false, true) => Some(Endian::Little),
-            _ => None
+            _ => None,
         }
     }
 }
@@ -53,6 +53,14 @@ impl ToBytes<u32, 4> for Endian {
         }
     }
 }
+impl ToBytes<i32, 4> for Endian {
+    fn to_bytes(self, value: i32) -> [u8; 4] {
+        match self {
+            Endian::Big => i32::to_be_bytes(value),
+            Endian::Little => i32::to_le_bytes(value),
+        }
+    }
+}
 impl ToBytes<u16, 2> for Endian {
     fn to_bytes(self, value: u16) -> [u8; 2] {
         match self {
@@ -153,4 +161,3 @@ impl Parse<f64, 8> for Endian {
         }
     }
 }
-