blob: c8fa4a3d24a392395d5669ed60f2cc04dd5b3630 [file] [edit]
// Copyright 2019 The Pigweed Authors
//
// Licensed under the Apache License, Version 2.0 (the "License"); you may not
// use this file except in compliance with the License. You may obtain a copy of
// the License at
//
// https://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
// WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
// License for the specific language governing permissions and limitations under
// the License.
#include "pw_string/hex.h"
#include <cstdarg>
namespace pw::string {
static_assert(HexToNibble('0') == 0);
static_assert(HexToNibble('1') == 1);
static_assert(HexToNibble('2') == 2);
static_assert(HexToNibble('3') == 3);
static_assert(HexToNibble('4') == 4);
static_assert(HexToNibble('5') == 5);
static_assert(HexToNibble('6') == 6);
static_assert(HexToNibble('7') == 7);
static_assert(HexToNibble('8') == 8);
static_assert(HexToNibble('9') == 9);
static_assert(HexToNibble('A') == 0xA);
static_assert(HexToNibble('B') == 0xB);
static_assert(HexToNibble('C') == 0xC);
static_assert(HexToNibble('D') == 0xD);
static_assert(HexToNibble('E') == 0xE);
static_assert(HexToNibble('F') == 0xF);
static_assert(HexToNibble('a') == 0xA);
static_assert(HexToNibble('b') == 0xB);
static_assert(HexToNibble('c') == 0xC);
static_assert(HexToNibble('d') == 0xD);
static_assert(HexToNibble('e') == 0xE);
static_assert(HexToNibble('f') == 0xF);
static_assert(HexToNibble('@') == 0x100);
static_assert(NibbleToHex(0) == '0');
static_assert(NibbleToHex(1) == '1');
static_assert(NibbleToHex(2) == '2');
static_assert(NibbleToHex(3) == '3');
static_assert(NibbleToHex(4) == '4');
static_assert(NibbleToHex(5) == '5');
static_assert(NibbleToHex(6) == '6');
static_assert(NibbleToHex(7) == '7');
static_assert(NibbleToHex(8) == '8');
static_assert(NibbleToHex(9) == '9');
static_assert(NibbleToHex(0xA) == 'a');
static_assert(NibbleToHex(0xB) == 'b');
static_assert(NibbleToHex(0xC) == 'c');
static_assert(NibbleToHex(0xD) == 'd');
static_assert(NibbleToHex(0xE) == 'e');
static_assert(NibbleToHex(0xF) == 'f');
static_assert(NibbleToHex(0xFF) == '?');
static_assert(IsHexDigit('0'));
static_assert(IsHexDigit('1'));
static_assert(IsHexDigit('2'));
static_assert(IsHexDigit('3'));
static_assert(IsHexDigit('4'));
static_assert(IsHexDigit('5'));
static_assert(IsHexDigit('6'));
static_assert(IsHexDigit('7'));
static_assert(IsHexDigit('8'));
static_assert(IsHexDigit('9'));
static_assert(IsHexDigit('A'));
static_assert(IsHexDigit('B'));
static_assert(IsHexDigit('C'));
static_assert(IsHexDigit('D'));
static_assert(IsHexDigit('E'));
static_assert(IsHexDigit('F'));
static_assert(IsHexDigit('a'));
static_assert(IsHexDigit('b'));
static_assert(IsHexDigit('c'));
static_assert(IsHexDigit('d'));
static_assert(IsHexDigit('e'));
static_assert(IsHexDigit('f'));
static_assert(!IsHexDigit('!'));
} // namespace pw::string