Polly 20.0.0git
Classes | Macros | Functions
isl_point.c File Reference
#include <isl_map_private.h>
#include <isl_point_private.h>
#include <isl/set.h>
#include <isl/union_set.h>
#include <isl_sample.h>
#include <isl_scan.h>
#include <isl_seq.h>
#include <isl_space_private.h>
#include <isl_local_private.h>
#include <isl_val_private.h>
#include <isl_vec_private.h>
#include <isl_output_private.h>
#include <set_to_map.c>
#include "isl_type_has_equal_space_templ.c"
#include "isl_type_check_equal_space_templ.c"
#include "isl_check_named_params_templ.c"
#include "check_type_range_templ.c"

Go to the source code of this file.

Classes

struct  isl_foreach_point
 

Macros

#define TYPE1   isl_basic_map
 
#define TYPE2   isl_point
 
#define TYPE_PAIR   isl_basic_map_point
 
#define TYPE   isl_point
 
#define TYPE   isl_point
 

Functions

isl_ctxisl_point_get_ctx (__isl_keep isl_point *pnt)
 
__isl_keep isl_spaceisl_point_peek_space (__isl_keep isl_point *pnt)
 
__isl_give isl_spaceisl_point_get_space (__isl_keep isl_point *pnt)
 
__isl_give isl_pointisl_point_alloc (__isl_take isl_space *space, __isl_take isl_vec *vec)
 
__isl_give isl_pointisl_point_zero (__isl_take isl_space *space)
 
__isl_give isl_pointisl_point_dup (__isl_keep isl_point *pnt)
 
__isl_give isl_pointisl_point_cow (__isl_take isl_point *pnt)
 
__isl_give isl_pointisl_point_copy (__isl_keep isl_point *pnt)
 
__isl_null isl_pointisl_point_free (__isl_take isl_point *pnt)
 
__isl_give isl_pointisl_point_void (__isl_take isl_space *space)
 
isl_bool isl_point_is_void (__isl_keep isl_point *pnt)
 
__isl_give isl_spaceisl_point_take_space (__isl_keep isl_point *pnt)
 
__isl_give isl_pointisl_point_restore_space (__isl_take isl_point *pnt, __isl_take isl_space *space)
 
__isl_keep isl_vecisl_point_peek_vec (__isl_keep isl_point *pnt)
 
__isl_give isl_vecisl_point_get_vec (__isl_keep isl_point *pnt)
 
__isl_give isl_vecisl_point_take_vec (__isl_keep isl_point *pnt)
 
__isl_give isl_pointisl_point_restore_vec (__isl_take isl_point *pnt, __isl_take isl_vec *vec)
 
static isl_size isl_point_dim (__isl_keep isl_point *pnt, enum isl_dim_type type)
 
static isl_size isl_point_var_offset (__isl_keep isl_point *pnt, enum isl_dim_type type)
 
static __isl_give isl_pointisl_point_reorder (__isl_take isl_point *pnt, __isl_take isl_reordering *r)
 
__isl_give isl_pointisl_point_align_params (__isl_take isl_point *pnt, __isl_take isl_space *model)
 
static __isl_give isl_valisl_point_get_coordinate_val (__isl_keep isl_point *pnt, enum isl_dim_type type, int pos)
 
static __isl_give isl_multi_valset_nan (__isl_take isl_multi_val *mv)
 
__isl_give isl_multi_valisl_point_get_multi_val (__isl_keep isl_point *pnt)
 
__isl_give isl_pointisl_point_set_coordinate_val (__isl_take isl_point *pnt, enum isl_dim_type type, int pos, __isl_take isl_val *v)
 
__isl_give isl_pointisl_point_add_ui (__isl_take isl_point *pnt, enum isl_dim_type type, int pos, unsigned val)
 
__isl_give isl_pointisl_point_sub_ui (__isl_take isl_point *pnt, enum isl_dim_type type, int pos, unsigned val)
 
static isl_stat foreach_point (struct isl_scan_callback *cb, __isl_take isl_vec *sample)
 
isl_stat isl_set_foreach_point (__isl_keep isl_set *set, isl_stat(*fn)(__isl_take isl_point *pnt, void *user), void *user)
 
isl_bool isl_basic_map_contains_point (__isl_keep isl_basic_map *bmap, __isl_keep isl_point *point)
 
isl_bool isl_map_contains_point (__isl_keep isl_map *map, __isl_keep isl_point *point)
 
isl_bool isl_set_contains_point (__isl_keep isl_set *set, __isl_keep isl_point *point)
 
__isl_give isl_basic_setisl_basic_set_from_point (__isl_take isl_point *pnt)
 
__isl_give isl_setisl_set_from_point (__isl_take isl_point *pnt)
 
__isl_give isl_setisl_point_to_set (__isl_take isl_point *pnt)
 
__isl_give isl_union_setisl_union_set_from_point (__isl_take isl_point *pnt)
 
__isl_give isl_basic_setisl_basic_set_box_from_points (__isl_take isl_point *pnt1, __isl_take isl_point *pnt2)
 
__isl_give isl_setisl_set_box_from_points (__isl_take isl_point *pnt1, __isl_take isl_point *pnt2)
 
static __isl_give isl_printerprint_coordinate (__isl_take isl_printer *p, struct isl_print_space_data *data, unsigned pos)
 
__isl_give isl_printerisl_printer_print_point (__isl_take isl_printer *p, __isl_keep isl_point *pnt)
 

Macro Definition Documentation

◆ TYPE [1/2]

#define TYPE   isl_point

Definition at line 368 of file isl_point.c.

◆ TYPE [2/2]

#define TYPE   isl_point

Definition at line 368 of file isl_point.c.

◆ TYPE1

#define TYPE1   isl_basic_map

Definition at line 50 of file isl_point.c.

◆ TYPE2

#define TYPE2   isl_point

Definition at line 52 of file isl_point.c.

◆ TYPE_PAIR

#define TYPE_PAIR   isl_basic_map_point

Definition at line 54 of file isl_point.c.

Function Documentation

◆ foreach_point()

static isl_stat foreach_point ( struct isl_scan_callback cb,
__isl_take isl_vec sample 
)
static

◆ isl_basic_map_contains_point()

isl_bool isl_basic_map_contains_point ( __isl_keep isl_basic_map bmap,
__isl_keep isl_point point 
)

◆ isl_basic_set_box_from_points()

__isl_give isl_basic_set * isl_basic_set_box_from_points ( __isl_take isl_point pnt1,
__isl_take isl_point pnt2 
)

◆ isl_basic_set_from_point()

__isl_give isl_basic_set * isl_basic_set_from_point ( __isl_take isl_point pnt)

◆ isl_map_contains_point()

isl_bool isl_map_contains_point ( __isl_keep isl_map map,
__isl_keep isl_point point 
)

◆ isl_point_add_ui()

__isl_give isl_point * isl_point_add_ui ( __isl_take isl_point pnt,
enum isl_dim_type  type,
int  pos,
unsigned  val 
)

◆ isl_point_align_params()

__isl_give isl_point * isl_point_align_params ( __isl_take isl_point pnt,
__isl_take isl_space model 
)

◆ isl_point_alloc()

__isl_give isl_point * isl_point_alloc ( __isl_take isl_space space,
__isl_take isl_vec vec 
)

◆ isl_point_copy()

__isl_give isl_point * isl_point_copy ( __isl_keep isl_point pnt)

◆ isl_point_cow()

__isl_give isl_point * isl_point_cow ( __isl_take isl_point pnt)

◆ isl_point_dim()

static isl_size isl_point_dim ( __isl_keep isl_point pnt,
enum isl_dim_type  type 
)
static

Definition at line 299 of file isl_point.c.

References isl_point_peek_space(), isl_space_dim(), and type.

Referenced by isl_basic_set_box_from_points(), and isl_printer_print_point().

◆ isl_point_dup()

__isl_give isl_point * isl_point_dup ( __isl_keep isl_point pnt)

Definition at line 117 of file isl_point.c.

References isl_point_alloc(), isl_space_copy(), and isl_vec_copy().

Referenced by isl_point_cow().

◆ isl_point_free()

__isl_null isl_point * isl_point_free ( __isl_take isl_point pnt)

◆ isl_point_get_coordinate_val()

static __isl_give isl_val * isl_point_get_coordinate_val ( __isl_keep isl_point pnt,
enum isl_dim_type  type,
int  pos 
)
static

◆ isl_point_get_ctx()

isl_ctx * isl_point_get_ctx ( __isl_keep isl_point pnt)

◆ isl_point_get_multi_val()

__isl_give isl_multi_val * isl_point_get_multi_val ( __isl_keep isl_point pnt)

◆ isl_point_get_space()

__isl_give isl_space * isl_point_get_space ( __isl_keep isl_point pnt)

◆ isl_point_get_vec()

__isl_give isl_vec * isl_point_get_vec ( __isl_keep isl_point pnt)

Definition at line 240 of file isl_point.c.

References isl_point_peek_vec(), and isl_vec_copy().

Referenced by isl_basic_map_contains_point(), and isl_point_take_vec().

◆ isl_point_is_void()

isl_bool isl_point_is_void ( __isl_keep isl_point pnt)

◆ isl_point_peek_space()

__isl_keep isl_space * isl_point_peek_space ( __isl_keep isl_point pnt)

◆ isl_point_peek_vec()

__isl_keep isl_vec * isl_point_peek_vec ( __isl_keep isl_point pnt)

Definition at line 233 of file isl_point.c.

Referenced by isl_aff_eval(), and isl_point_get_vec().

◆ isl_point_reorder()

static __isl_give isl_point * isl_point_reorder ( __isl_take isl_point pnt,
__isl_take isl_reordering r 
)
static

◆ isl_point_restore_space()

__isl_give isl_point * isl_point_restore_space ( __isl_take isl_point pnt,
__isl_take isl_space space 
)

Definition at line 207 of file isl_point.c.

References isl_point_cow(), isl_point_free(), and isl_space_free().

Referenced by isl_local_space_lift_point(), and isl_point_reorder().

◆ isl_point_restore_vec()

__isl_give isl_point * isl_point_restore_vec ( __isl_take isl_point pnt,
__isl_take isl_vec vec 
)

◆ isl_point_set_coordinate_val()

__isl_give isl_point * isl_point_set_coordinate_val ( __isl_take isl_point pnt,
enum isl_dim_type  type,
int  pos,
__isl_take isl_val v 
)

◆ isl_point_sub_ui()

__isl_give isl_point * isl_point_sub_ui ( __isl_take isl_point pnt,
enum isl_dim_type  type,
int  pos,
unsigned  val 
)

◆ isl_point_take_space()

__isl_give isl_space * isl_point_take_space ( __isl_keep isl_point pnt)

Definition at line 189 of file isl_point.c.

References isl_point_get_space().

Referenced by isl_local_space_lift_point(), and isl_point_reorder().

◆ isl_point_take_vec()

__isl_give isl_vec * isl_point_take_vec ( __isl_keep isl_point pnt)

Definition at line 254 of file isl_point.c.

References isl_point_get_vec(), and isl_point::vec.

Referenced by isl_local_space_lift_point(), and isl_point_reorder().

◆ isl_point_to_set()

__isl_give isl_set * isl_point_to_set ( __isl_take isl_point pnt)

Definition at line 700 of file isl_point.c.

References isl_set_from_point().

Referenced by isl::point::to_set().

◆ isl_point_var_offset()

static isl_size isl_point_var_offset ( __isl_keep isl_point pnt,
enum isl_dim_type  type 
)
static

◆ isl_point_void()

__isl_give isl_point * isl_point_void ( __isl_take isl_space space)

Definition at line 164 of file isl_point.c.

References isl_point_alloc(), and isl_vec_alloc().

Referenced by isl_set_sample_point().

◆ isl_point_zero()

__isl_give isl_point * isl_point_zero ( __isl_take isl_space space)

◆ isl_printer_print_point()

__isl_give isl_printer * isl_printer_print_point ( __isl_take isl_printer p,
__isl_keep isl_point pnt 
)

◆ isl_set_box_from_points()

__isl_give isl_set * isl_set_box_from_points ( __isl_take isl_point pnt1,
__isl_take isl_point pnt2 
)

Definition at line 810 of file isl_point.c.

References isl_basic_set_box_from_points(), and isl_set_from_basic_set().

Referenced by ISL_ARG_CHILD().

◆ isl_set_contains_point()

isl_bool isl_set_contains_point ( __isl_keep isl_set set,
__isl_keep isl_point point 
)

Definition at line 668 of file isl_point.c.

References isl_map_contains_point(), point, set, and set_to_map.

Referenced by FN(), and scan_one().

◆ isl_set_foreach_point()

isl_stat isl_set_foreach_point ( __isl_keep isl_set set,
isl_stat(*)(__isl_take isl_point *pnt, void *user fn,
void *  user 
)

◆ isl_set_from_point()

__isl_give isl_set * isl_set_from_point ( __isl_take isl_point pnt)

◆ isl_union_set_from_point()

__isl_give isl_union_set * isl_union_set_from_point ( __isl_take isl_point pnt)

◆ print_coordinate()

static __isl_give isl_printer * print_coordinate ( __isl_take isl_printer p,
struct isl_print_space_data data,
unsigned  pos 
)
static

◆ set_nan()

static __isl_give isl_multi_val * set_nan ( __isl_take isl_multi_val mv)
static

Definition at line 403 of file isl_point.c.

References isl_val_copy(), isl_val_free(), isl_val_nan(), and n.

Referenced by isl_point_get_multi_val().