58 r_Access(
const r_Minterval& pattern, r_ULong accesses = 1);
64 const r_Minterval& get_pattern()
const;
68 void set_pattern(
const r_Minterval& pattern);
71 r_ULong get_times()
const;
74 void set_times(r_ULong accesses);
78 bool is_near(
const r_Access& other, r_ULong border_threshold)
const throw (r_Error);
81 void merge_with(
const r_Access& other);
84 void print_status(std::ostream& os)
const;
90 bool operator!=(
const r_Access& other)
const;
108 extern std::ostream&
operator<<(std::ostream& os,
const r_Access& access);
130 class r_Stat_Tiling :
public r_Dimension_Tiling
137 const static r_Area DEF_BORDER_THR;
140 const static r_Double DEF_INTERESTING_THR;
144 r_Stat_Tiling(
const char* encoded)
throw (r_Error);
147 r_Stat_Tiling(r_Dimension dim,
148 const std::vector<r_Access>& stat_info,
150 r_Area border_threshold = DEF_BORDER_THR,
151 r_Double interesting_threshold = DEF_INTERESTING_THR) throw (r_Error);
164 virtual ~r_Stat_Tiling();
167 virtual const std::vector<r_Minterval>& get_interesting_areas() const;
170 r_Area get_border_threshold() const;
176 r_Double get_interesting_threshold() const;
184 virtual
void print_status(std::ostream& os) const;
186 virtual std::vector<r_Minterval>* compute_tiles(const r_Minterval& obj_domain, r_Bytes cell_size) const throw (r_Error);
188 virtual r_Tiling* clone() const;
190 virtual r_Tiling_Scheme get_tiling_scheme() const;
192 static const
char* description;
198 void filter(std::vector<r_Access>& patterns) const throw (r_Error);
201 r_Access merge(const std::vector<r_Access>& patterns) const;
204 r_Double interesting_thr;
210 std::vector<r_Minterval> iareas;
213 std::vector<r_Access> stat_info;
static r_Bytes clientTileSize
Definition: rminit.hh:132
bool operator==(const OId::OIdPrimitive one, const OId &two)
template std::ostream & operator<<(const vector< KeyObject > &, std::ostream &)