- -module(rgb).
- -export([marshall/3, unmarshall/1]).
- marshall(R,G,B) ->
- if
- R > 31 ->
- throw({overlimit, R});
- G > 63 ->
- throw({overlimit, G});
- B > 31 ->
- throw({overlimit, B});
- true -> true
- end,
- << R:5, G:6, B:5 >>.
- unmarshall(Binary) ->
- << R:5, G:6, B:5 >> = Binary,
- {R,G,B}.