code wiki / (root) / nx_rabin_karp_test.nx

nx_rabin_karp_test.nx source

↩ module page · 14 lines · 953 B

1import "nx_syscalls.nx" 2import "nx_rabin_karp.nx" 3 4func main() -> nx_int { 5 if nx_rabin_karp("hello" as *u8, 5, "" as *u8, 0) != 0 { return __syscall(93, 1, 0, 0, 0, 0, 0) } 6 if nx_rabin_karp("abc" as *u8, 3, "a" as *u8, 1) != 0 { return __syscall(93, 2, 0, 0, 0, 0, 0) } 7 if nx_rabin_karp("abc" as *u8, 3, "c" as *u8, 1) != 2 { return __syscall(93, 3, 0, 0, 0, 0, 0) } 8 if nx_rabin_karp("abc" as *u8, 3, "xyz" as *u8, 3) != -1 { return __syscall(93, 4, 0, 0, 0, 0, 0) } 9 if nx_rabin_karp("hello world" as *u8, 11, "world" as *u8, 5) != 6 { return __syscall(93, 5, 0, 0, 0, 0, 0) } 10 if nx_rabin_karp("hi" as *u8, 2, "hello" as *u8, 5) != -1 { return __syscall(93, 6, 0, 0, 0, 0, 0) } 11 if nx_rabin_karp("abcabcabc" as *u8, 9, "abc" as *u8, 3) != 0 { return __syscall(93, 7, 0, 0, 0, 0, 0) } 12 if nx_rabin_karp("aaaaaaaaab" as *u8, 10, "aaaab" as *u8, 5) != 5 { return __syscall(93, 8, 0, 0, 0, 0, 0) } 13 return 0 14}