# Isspam Fast as light evaluator for text files to summarize specific details about the text files. This repository contains two versions of the same algorithm. Versions: - Rust (risspam) written by 12bitfloat. - C (isspam) written by retoor. ## Building ``` make build ``` Build isspam with memory check (requires valgrind to be installed): ``` make valgrind ``` ## Running ### Using files as parameter ``` ./(r)isspam ./spam/*.txt ./(r)isspam ./not_spam/*.txt ``` ### Using stdin Useful for automation. Works only on the isspam version. ``` cat ./spam/example_spam1.txt | ./isspam ``` ## Example output Output example made by isspam. ``` File: ./spam/example_spam3.txt Capitalized words: 39 Sentences: 20 Words: 420 Numbers: 1 Forbidden words: 15 <0:recovery> <1:techie> <2:https> <3:digital> <4:hack> <5://> <6:com> <7:@> <8:crypto> <9:bitcoin> <10:whatsapp> <11:cryptocurrency> <12:stolen> <13:contact> <14:understanding> Word count per sentence: 21 Memory usage: 1 MB, 6.460 (re)allocated, 4.222 unqiue free'd, 0 in use. ``` ## Valgrind status Valgrind output for isspam version. Rust variant thinks it's too cool for memory checks afterwards. Date: 2024-11-30 ``` ==58062== ==58062== HEAP SUMMARY: ==58062== in use at exit: 0 bytes in 0 blocks ==58062== total heap usage: 6,490 allocs, 6,490 frees, 2,343,156 bytes allocated ==58062== ==58062== All heap blocks were freed -- no leaks are possible ==58062== ==58062== For lists of detected and suppressed errors, rerun with: -s ==58062== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0) ```