func digitVal(ch rune) int {
	switch {
	case '0' <= ch && ch <= '9':
		return int(ch - '0')
	case 'a' <= ch && ch <= 'f':
		return int(ch - 'a' + 10)
	case 'A' <= ch && ch <= 'F':
		return int(ch - 'A' + 10)
	}
	return 16 // Larger than any legal digit val.
}
func digitVal(ch rune) int {
	switch {
	case '0' <= ch && ch <= '9':
		return int(ch - '0')
	case 'a' <= ch && ch <= 'f':
		return int(ch - 'a' + 10)
	case 'A' <= ch && ch <= 'F':
		return int(ch - 'A' + 10)
	}
	return 16 
}
func digitVal ( ch rune ) int { switch { case '0' <= ch && ch <= '9' : return int ( ch - '0' ) case 'a' <= ch && ch <= 'f' : return int ( ch - 'a' + 10 ) case 'A' <= ch && ch <= 'F' : return int ( ch - 'A' + 10 ) } return 16 // Larger than any legal digit val. }
// digitVal returns the digit value of a rune or 16 in case the rune does not
// represent a valid digit.
digitVal returns the digit value of a rune or 16 in case the rune does not represent a valid digit .