08-Jan-2022 10:50:23 upc_test(): MATLAB/Octave version 9.8.0.1380330 (R2020a) Update 2 upc() works with Uniform Price Codes. CH_IS_DIGIT_TEST CH_IS_DIGIT is TRUE if a character represents a digit. C CH_IS_DIGIT(C) "0" 1 "1" 1 "2" 1 "3" 1 "4" 1 "5" 1 "6" 1 "7" 1 "8" 1 "9" 1 "X" 0 "?" 0 " " 0 CH_TO_DIGIT_TEST CH_TO_DIGIT: character -> decimal digit 1 "0" 0 2 "1" 1 3 "2" 2 4 "3" 3 5 "4" 4 6 "5" 5 7 "6" 6 8 "7" 7 9 "8" 8 10 "9" 9 11 "X" -1 12 "?" -1 13 " " -1 S_TO_DIGITS_TEST S_TO_DIGITS: string -> digit vector Test string: "34E94-70.6" Extracted 5 digits: 1: 3 2: 4 3: 9 4: 4 5: 7 Test string: "34E94-70.6" Extracted 7 digits: 1: 3 2: 4 3: 9 4: 4 5: 7 6: 0 7: 6 UPC_CHECK_DIGIT_CALCULATE_TEST UPC_CHECK_DIGIT_CALCULATE calculates the 12-th digit (the check digit) of a UPC. Check digit of "6-39382-00039-3" is 3, expecting 3 Check digit of "0 43000 18170" is 6, expecting 6 Check digit of "30074660601" is 7, expecting 7 Check digit of "24689753124" is 5, expecting 5 Check digit of "13579864213" is 9, expecting 9 UPC_IS_VALID_TEST UPC_IS_VALID reports whether a UPC is valid. Validity of "6-39382-00039-3" is 1, expecting 1 Validity of "6-39352-00039-3" is 0, expecting 0 Validity of "0 43000 18170 6" is 1, expecting 1 Validity of "0 43000 18170 9" is 0, expecting 0 upc_test(): Normal end of execution. 08-Jan-2022 10:50:23