;; /// @file accumulate_u8.cpp ;; #include <emscripten.h> // macro EMSCRIPTEN_KEEPALIVE ;; #include <stdint.h> ;; #include <vector> ;; #include <numeric> ;; extern "C" { ;; int32_t EMSCRIPTEN_KEEPALIVE accumulate_u8(const int32_t arlen, const uint8_t *ar) { ;; int32_t arsum = 0; ;; for (int32_t i=0; i<arlen; ++i) ;; arsum += (int32_t) ar[i]; ;; return arsum; ;; } ;; } // extern "C" (module (type $0 (func (param i32 i32) (result i32))) (type $1 (func)) (import "env" "memoryBase" (global $import$0 i32)) (import "env" "memory" (memory $0 256)) (import "env" "table" (table 0 anyfunc)) (import "env" "tableBase" (global $import$3 i32)) (global $global$0 (mut i32) (i32.const 0)) (global $global$1 (mut i32) (i32.const 0)) (export "__post_instantiate" (func $2)) (export "_accumulate_u8" (func $0)) (func $0 (type $0) (param $var$0 i32) (param $var$1 i32) (result i32) (local $var$2 i32) (local $var$3 i32) (block $label$0 (result i32) (if (i32.gt_s (get_local $var$0) (i32.const 0) ) (block $label$1 (set_local $var$2 (i32.const 0) ) (set_local $var$3 (i32.const 0) ) ) (block $label$2 (return (i32.const 0) ) ) ) (loop $label$3 (set_local $var$3 (i32.add (i32.load8_u (i32.add (get_local $var$1) (get_local $var$2) ) ) (get_local $var$3) ) ) (br_if $label$3 (i32.ne (tee_local $var$2 (i32.add (get_local $var$2) (i32.const 1) ) ) (get_local $var$0) ) ) ) (get_local $var$3) ) ) (func $1 (type $1) (nop) ) (func $2 (type $1) (block $label$0 (set_global $global$0 (get_global $import$0) ) (set_global $global$1 (i32.add (get_global $global$0) (i32.const 5242880) ) ) (call $1) ) ) ;; custom section "dylink", size 5 )