Selected Documentation for Messaging-Cells Library
Macros | Typedefs
shared_eph3.h File Reference

Addressing functions of the epiphany 3 architecture. More...

+ This graph shows which files directly or indirectly include this file:

Macros

#define mc_addr_mask_id(addr)   (((mc_addr_t)(addr)) & mc_glb_id_mask)
 Masks the id part of 'addr'.
 
#define mc_addr_mask_ad(addr)   (((mc_addr_t)(addr)) & mc_glb_addr_mask)
 Masks the displacement (local-addr) part of 'addr'.
 
#define mc_addr_has_id(addr)   mc_addr_mask_id(addr)
 True 'addr' has 'id' (not zero id)
 
#define mc_addr_get_id(addr)   ((mc_workeru_id_t)(mc_addr_mask_id(addr) >> mc_glb_addr_sz))
 Returns the id part of 'addr' as mc_workeru_id_t value.
 
#define mc_addr_set_id(id, addr)   ((mc_addr_t)((((mc_addr_t)(id)) << mc_glb_addr_sz) | mc_addr_mask_ad(addr)))
 Sets the id part of 'addr' with 'id'.
 
#define mc_addr_get_disp(addr)   ((mc_addr_t)mc_addr_mask_ad(addr))
 Returns the displacement (local-addr) part of 'addr' as mc_addr_t value.
 
#define mc_addr_set_disp(disp, addr)   ((mc_addr_t)(mc_addr_mask_id(addr) | mc_addr_mask_ad(disp)))
 Sets the displacement (local-addr) part of 'addr' with 'disp'.
 
#define mc_addr_same_id(addr1, addr2)   (mc_addr_mask_id(addr1) == mc_addr_mask_id(addr2))
 True if 'addr1' and 'addr2' have the same id part value.
 

Typedefs

typedef uint32_t mc_addr_t
 Type for epiphany addresses.
 
typedef uint16_t mc_workeru_id_t
 Type for workeru ids.
 
typedef uint16_t mc_workeru_co_t
 Type for workeru coordinates (row and col)
 
typedef uint16_t mc_workeru_nn_t
 Type for workeru numbers (starts in 0)
 

Detailed Description

Addressing functions of the epiphany 3 architecture.