Yet Another eXchange Tool 0.11.2
|
#include <assert.h>
#include <stdbool.h>
#include <stdlib.h>
#include <string.h>
#include "xt/xt_core.h"
#include "xt/xt_stripe.h"
#include "xt_stripe_util.h"
#include "core/ppm_xfuncs.h"
#include "instr.h"
#include "ensure_array_size.h"
Go to the source code of this file.
Macros | |
#define | MIN(X, Y) |
Functions | |
void | xt_convert_indices_to_stripes (const Xt_int *restrict indices, int num_indices, struct Xt_stripe **stripes, int *num_stripes) |
size_t | xt_indices_count_stripes (size_t num_indices, const Xt_int indices[num_indices]) |
void | xt_convert_indices_to_stripes_keep_buf (const Xt_int *restrict indices, int num_indices, struct Xt_stripe **stripes, int *num_stripes) |
size_t | xt_convert_indices_to_stripes_buf (size_t num_indices, const Xt_int *restrict indices, size_t num_stripes_alloc, struct Xt_stripe *stripes) |
size_t | xt_stripes_merge_copy (size_t num_stripes, struct Xt_stripe *stripes_dst, const struct Xt_stripe *stripes_src, bool lookback) |
struct Xt_stripe_summary | xt_summarize_stripes (size_t num_stripes, const struct Xt_stripe stripes[num_stripes]) |
bool | xt_stripes_detect_duplicate (size_t num_stripes, const struct Xt_stripe stripes[num_stripes], struct Xt_minmax index_range) |
Definition in file xt_stripe.c.
#define MIN | ( | X, | |
Y ) |
Definition at line 234 of file xt_stripe.c.
size_t xt_convert_indices_to_stripes_buf | ( | size_t | num_indices, |
const Xt_int *restrict | indices, | ||
size_t | num_stripes_alloc, | ||
struct Xt_stripe * | stripes ) |
Writes stripes to buffer that must be of sufficient size.
Definition at line 126 of file xt_stripe.c.
void xt_convert_indices_to_stripes_keep_buf | ( | const Xt_int *restrict | indices, |
int | num_indices, | ||
struct Xt_stripe ** | stripes, | ||
int * | num_stripes ) |
Re-use pre-existing heap buffer and resize as necessary.
Definition at line 106 of file xt_stripe.c.
size_t xt_indices_count_stripes | ( | size_t | num_indices, |
const Xt_int | indices[num_indices] ) |
Establish number of stripes needed to represent vector of indices.
Definition at line 77 of file xt_stripe.c.
bool xt_stripes_detect_duplicate | ( | size_t | num_stripes, |
const struct Xt_stripe | stripes[num_stripes], | ||
struct Xt_minmax | index_range ) |
Definition at line 237 of file xt_stripe.c.
size_t xt_stripes_merge_copy | ( | size_t | num_stripes, |
struct Xt_stripe * | stripes_dst, | ||
const struct Xt_stripe * | stripes_src, | ||
bool | lookback ) |
copy stripes_src to stripes_dst, fusing trivially adjacent stripes (i.e. having same stride and matching bounds)
num_stripes | number of stripes stored at stripes_src |
stripes_dst | target array able to hold at least num_stripes stripes |
stripes_src | source array containing num_stripes stripes to be copied to stripes_dst |
lookback | if true, inspects also stripes_dst[-1] for possible fusion with stripes_src[0] |
Definition at line 163 of file xt_stripe.c.
struct Xt_stripe_summary xt_summarize_stripes | ( | size_t | num_stripes, |
const struct Xt_stripe | stripes[num_stripes] ) |
Definition at line 204 of file xt_stripe.c.