#ifndef UPCR_TRANS_EXTRA_INCL #define UPCR_TRANS_EXTRA_INCL extern int upcrt_gcd (int _a, int _b); extern int _upcrt_forall_start(int _start_thread, int _step, int _lo, int _scale); #define upcrt_forall_start(start_thread, step, lo, scale) \ _upcrt_forall_start(start_thread, step, lo, scale) int32_t UPCR_TLD_DEFINE_TENTATIVE(upcrt_forall_control, 4, 4); #define upcr_forall_control upcrt_forall_control #ifndef UPCR_EXIT_FUNCTION #define UPCR_EXIT_FUNCTION() ((void)0) #endif #if UPCR_RUNTIME_SPEC_MAJOR > 3 || (UPCR_RUNTIME_SPEC_MAJOR == 3 && UPCR_RUNTIME_SPEC_MINOR >= 8) #define UPCRT_STARTUP_SHALLOC(sptr, blockbytes, numblocks, mult_by_threads, elemsz, typestr) \ { &(sptr), (blockbytes), (numblocks), (mult_by_threads), (elemsz), #sptr, (typestr) } #else #define UPCRT_STARTUP_SHALLOC(sptr, blockbytes, numblocks, mult_by_threads, elemsz, typestr) \ { &(sptr), (blockbytes), (numblocks), (mult_by_threads) } #endif #define UPCRT_STARTUP_PSHALLOC UPCRT_STARTUP_SHALLOC /**** Autonb optimization ********/ extern void _upcrt_memput_nb(upcr_shared_ptr_t _dst, const void *_src, size_t _n); #define upcrt_memput_nb(dst, src, n) \ (upcri_srcpos(), _upcrt_memput_nb(dst, src, n)) #endif