| 922 | */ |
| 923 | #ifndef GRAPHICS_DISABLED |
| 924 | void IntegerMatcher::DebugFeatureProtoError( |
| 925 | INT_CLASS ClassTemplate, |
| 926 | BIT_VECTOR ProtoMask, |
| 927 | BIT_VECTOR ConfigMask, |
| 928 | const ScratchEvidence& tables, |
| 929 | inT16 NumFeatures, |
| 930 | int Debug) { |
| 931 | FLOAT32 ProtoConfigs[MAX_NUM_CONFIGS]; |
| 932 | int ConfigNum; |
| 933 | uinT32 ConfigWord; |
| 934 | int ProtoSetIndex; |
| 935 | uinT16 ProtoNum; |
| 936 | uinT8 ProtoWordNum; |
| 937 | PROTO_SET ProtoSet; |
| 938 | uinT16 ActualProtoNum; |
| 939 | |
| 940 | if (PrintMatchSummaryOn(Debug)) { |
| 941 | cprintf("Configuration Mask:\n"); |
| 942 | for (ConfigNum = 0; ConfigNum < ClassTemplate->NumConfigs; ConfigNum++) |
| 943 | cprintf("%1d", (((*ConfigMask) >> ConfigNum) & 1)); |
| 944 | cprintf("\n"); |
| 945 | |
| 946 | cprintf("Feature Error for Configurations:\n"); |
| 947 | for (ConfigNum = 0; ConfigNum < ClassTemplate->NumConfigs; ConfigNum++) { |
| 948 | cprintf( |
| 949 | " %5.1f", |
| 950 | 100.0 * (1.0 - |
| 951 | (FLOAT32) tables.sum_feature_evidence_[ConfigNum] |
| 952 | / NumFeatures / 256.0)); |
| 953 | } |
| 954 | cprintf("\n\n\n"); |
| 955 | } |
| 956 | |
| 957 | if (PrintMatchSummaryOn (Debug)) { |
| 958 | cprintf ("Proto Mask:\n"); |
| 959 | for (ProtoSetIndex = 0; ProtoSetIndex < ClassTemplate->NumProtoSets; |
| 960 | ProtoSetIndex++) { |
| 961 | ActualProtoNum = (ProtoSetIndex * PROTOS_PER_PROTO_SET); |
| 962 | for (ProtoWordNum = 0; ProtoWordNum < 2; |
| 963 | ProtoWordNum++, ProtoMask++) { |
| 964 | ActualProtoNum = (ProtoSetIndex * PROTOS_PER_PROTO_SET); |
| 965 | for (ProtoNum = 0; |
| 966 | ((ProtoNum < (PROTOS_PER_PROTO_SET >> 1)) |
| 967 | && (ActualProtoNum < ClassTemplate->NumProtos)); |
| 968 | ProtoNum++, ActualProtoNum++) |
| 969 | cprintf ("%1d", (((*ProtoMask) >> ProtoNum) & 1)); |
| 970 | cprintf ("\n"); |
| 971 | } |
| 972 | } |
| 973 | cprintf ("\n"); |
| 974 | } |
| 975 | |
| 976 | for (int i = 0; i < ClassTemplate->NumConfigs; i++) |
| 977 | ProtoConfigs[i] = 0; |
| 978 | |
| 979 | if (PrintProtoMatchesOn (Debug)) { |
| 980 | cprintf ("Proto Evidence:\n"); |
| 981 | for (ProtoSetIndex = 0; ProtoSetIndex < ClassTemplate->NumProtoSets; |