YAC 3.8.0
Yet Another Coupler
Loading...
Searching...
No Matches
test_interp_stack_config.c File Reference
#include <stdio.h>
#include <math.h>
#include "tests.h"
#include "interp_stack_config.h"
Include dependency graph for test_interp_stack_config.c:

Go to the source code of this file.

Macros

#define ARGS(...)   __VA_ARGS__
 
#define _GET_NTH_ARG(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, N, ...)   N
 
#define EXPAND(x)   x
 
#define FOREACH(name, ...)
 
#define FOREACH_ENUM(name, values, ...)
 
#define FOREACH_TYPE(name, type, values, ...)
 
#define FOREACH_INT(name, values, ...)    FOREACH_TYPE(name, int, ARGS(values), __VA_ARGS__)
 
#define FOREACH_DBLE(name, values, ...)    FOREACH_TYPE(name, double, ARGS(values), __VA_ARGS__)
 
#define FOREACH_BOOL(name, ...)   FOREACH_INT(name, ARGS(0, 1), __VA_ARGS__)
 
#define FOREACH_STRING(name, values, ...)    FOREACH_TYPE(name, ARGS(char const *), ARGS(values), __VA_ARGS__)
 
#define FOREACH_STRUCT(name, struct_name, values, ...)    FOREACH_TYPE(name, ARGS(struct struct_name), ARGS(values), __VA_ARGS__)
 
#define _CHECK_STACKS(interp_name, config)
 
#define _CONFIG_ARGS1(arg_name)   arg_name[arg_name ## _idx[config_idx]]
 
#define _CONFIG_ARGS2(arg_name, ...)    _CONFIG_ARGS1(arg_name), _CONFIG_ARGS1(__VA_ARGS__)
 
#define _CONFIG_ARGS3(arg_name, ...)    _CONFIG_ARGS1(arg_name), _CONFIG_ARGS2(__VA_ARGS__)
 
#define _CONFIG_ARGS4(arg_name, ...)    _CONFIG_ARGS1(arg_name), _CONFIG_ARGS3(__VA_ARGS__)
 
#define _CONFIG_ARGS5(arg_name, ...)    _CONFIG_ARGS1(arg_name), _CONFIG_ARGS4(__VA_ARGS__)
 
#define _CONFIG_ARGS6(arg_name, ...)    _CONFIG_ARGS1(arg_name), _CONFIG_ARGS5(__VA_ARGS__)
 
#define _CONFIG_ARGS7(arg_name, ...)    _CONFIG_ARGS1(arg_name), _CONFIG_ARGS6(__VA_ARGS__)
 
#define _CONFIG_ARGS8(arg_name, ...)    _CONFIG_ARGS1(arg_name), _CONFIG_ARGS7(__VA_ARGS__)
 
#define _CONFIG_ARGS9(arg_name, ...)    _CONFIG_ARGS1(arg_name), _CONFIG_ARGS8(__VA_ARGS__)
 
#define _CONFIG_ARGS10(arg_name, ...)    _CONFIG_ARGS1(arg_name), _CONFIG_ARGS9(__VA_ARGS__)
 
#define _CONFIG_ARGS11(arg_name, ...)    _CONFIG_ARGS1(arg_name), _CONFIG_ARGS10(__VA_ARGS__)
 
#define _CONFIG_ARGS12(arg_name, ...)    _CONFIG_ARGS1(arg_name), _CONFIG_ARGS11(__VA_ARGS__)
 
#define CHECK_STACKS(interp_name, ...)
 
#define CELL_AREA_CONFIGS
 

Functions

static void yac_interp_stack_config_add_spmap_ (struct yac_interp_stack_config *interp_stack_config, double spread_distance, double max_search_distance, enum yac_interp_spmap_weight_type weight_type, enum yac_interp_spmap_scale_type scale_type, struct yac_spmap_cell_area_config src_cell_area_config, struct yac_spmap_cell_area_config tgt_cell_area_config)
 

Detailed Description

Test
Tests for interpolation stack interface routines.

Definition in file test_interp_stack_config.c.

Macro Definition Documentation

◆ _CHECK_STACKS

#define _CHECK_STACKS ( interp_name,
config )
Value:
{ \
int config_idx; \
config_idx = 0, yac_interp_stack_config_add_ ## interp_name ( a, config ); \
config_idx = 1, yac_interp_stack_config_add_ ## interp_name ( b, config ); \
utest_check_compare_stacks(a, b, configs_differ); \
}
struct yac_interp_stack_config * yac_interp_stack_config_new()
union yac_interp_stack_config_entry * config

Definition at line 51 of file test_interp_stack_config.c.

◆ _CONFIG_ARGS1

#define _CONFIG_ARGS1 ( arg_name)    arg_name[arg_name ## _idx[config_idx]]

Definition at line 60 of file test_interp_stack_config.c.

◆ _CONFIG_ARGS10

#define _CONFIG_ARGS10 ( arg_name,
... )    _CONFIG_ARGS1(arg_name), _CONFIG_ARGS9(__VA_ARGS__)

Definition at line 77 of file test_interp_stack_config.c.

◆ _CONFIG_ARGS11

#define _CONFIG_ARGS11 ( arg_name,
... )    _CONFIG_ARGS1(arg_name), _CONFIG_ARGS10(__VA_ARGS__)

Definition at line 79 of file test_interp_stack_config.c.

◆ _CONFIG_ARGS12

#define _CONFIG_ARGS12 ( arg_name,
... )    _CONFIG_ARGS1(arg_name), _CONFIG_ARGS11(__VA_ARGS__)

Definition at line 81 of file test_interp_stack_config.c.

◆ _CONFIG_ARGS2

#define _CONFIG_ARGS2 ( arg_name,
... )    _CONFIG_ARGS1(arg_name), _CONFIG_ARGS1(__VA_ARGS__)

Definition at line 61 of file test_interp_stack_config.c.

◆ _CONFIG_ARGS3

#define _CONFIG_ARGS3 ( arg_name,
... )    _CONFIG_ARGS1(arg_name), _CONFIG_ARGS2(__VA_ARGS__)

Definition at line 63 of file test_interp_stack_config.c.

◆ _CONFIG_ARGS4

#define _CONFIG_ARGS4 ( arg_name,
... )    _CONFIG_ARGS1(arg_name), _CONFIG_ARGS3(__VA_ARGS__)

Definition at line 65 of file test_interp_stack_config.c.

◆ _CONFIG_ARGS5

#define _CONFIG_ARGS5 ( arg_name,
... )    _CONFIG_ARGS1(arg_name), _CONFIG_ARGS4(__VA_ARGS__)

Definition at line 67 of file test_interp_stack_config.c.

◆ _CONFIG_ARGS6

#define _CONFIG_ARGS6 ( arg_name,
... )    _CONFIG_ARGS1(arg_name), _CONFIG_ARGS5(__VA_ARGS__)

Definition at line 69 of file test_interp_stack_config.c.

◆ _CONFIG_ARGS7

#define _CONFIG_ARGS7 ( arg_name,
... )    _CONFIG_ARGS1(arg_name), _CONFIG_ARGS6(__VA_ARGS__)

Definition at line 71 of file test_interp_stack_config.c.

◆ _CONFIG_ARGS8

#define _CONFIG_ARGS8 ( arg_name,
... )    _CONFIG_ARGS1(arg_name), _CONFIG_ARGS7(__VA_ARGS__)

Definition at line 73 of file test_interp_stack_config.c.

◆ _CONFIG_ARGS9

#define _CONFIG_ARGS9 ( arg_name,
... )    _CONFIG_ARGS1(arg_name), _CONFIG_ARGS8(__VA_ARGS__)

Definition at line 75 of file test_interp_stack_config.c.

◆ _GET_NTH_ARG

#define _GET_NTH_ARG ( _1,
_2,
_3,
_4,
_5,
_6,
_7,
_8,
_9,
_10,
_11,
_12,
N,
... )   N

Definition at line 16 of file test_interp_stack_config.c.

◆ ARGS

#define ARGS ( ...)    __VA_ARGS__

Definition at line 15 of file test_interp_stack_config.c.

◆ CELL_AREA_CONFIGS

#define CELL_AREA_CONFIGS

◆ CHECK_STACKS

#define CHECK_STACKS ( interp_name,
... )
Value:
_CHECK_STACKS(interp_name, \
_CONFIG_ARGS1)(__VA_ARGS__)))
#define _CONFIG_ARGS8(arg_name,...)
#define _CONFIG_ARGS7(arg_name,...)
#define _CONFIG_ARGS12(arg_name,...)
#define _CONFIG_ARGS1(arg_name)
#define _CONFIG_ARGS9(arg_name,...)
#define _CONFIG_ARGS4(arg_name,...)
#define _CONFIG_ARGS3(arg_name,...)
#define _CONFIG_ARGS6(arg_name,...)
#define _CONFIG_ARGS10(arg_name,...)
#define _CONFIG_ARGS2(arg_name,...)
#define _GET_NTH_ARG(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, N,...)
#define _CHECK_STACKS(interp_name, config)
#define _CONFIG_ARGS11(arg_name,...)
#define _CONFIG_ARGS5(arg_name,...)
#define EXPAND(x)

Definition at line 83 of file test_interp_stack_config.c.

◆ EXPAND

#define EXPAND ( x)    x

Definition at line 17 of file test_interp_stack_config.c.

◆ FOREACH

#define FOREACH ( name,
... )
Value:
{ \
enum {NUM_ ## name = sizeof( name ) / sizeof( name [0])}; \
int name ## _idx[2]; \
for (name ## _idx[0] = 0; name ## _idx[0] < NUM_ ## name; \
++ name ## _idx[0]) { \
for (name ## _idx[1] = 0; name ## _idx[1] < NUM_ ## name; \
++ name ## _idx[1]) { \
configs_differ += (name ## _idx[0]) != (name ## _idx[1]); \
{__VA_ARGS__} \
configs_differ -= (name ## _idx[0]) != (name ## _idx[1]); \
} \
} \
}
char const * name
Definition toy_scrip.c:114

Definition at line 18 of file test_interp_stack_config.c.

◆ FOREACH_BOOL

#define FOREACH_BOOL ( name,
... )   FOREACH_INT(name, ARGS(0, 1), __VA_ARGS__)

Definition at line 46 of file test_interp_stack_config.c.

◆ FOREACH_DBLE

#define FOREACH_DBLE ( name,
values,
... )    FOREACH_TYPE(name, double, ARGS(values), __VA_ARGS__)

Definition at line 44 of file test_interp_stack_config.c.

◆ FOREACH_ENUM

#define FOREACH_ENUM ( name,
values,
... )
Value:
{ \
enum yac_ ## name name [] = {values}; \
FOREACH(name, __VA_ARGS__) \
}

Definition at line 32 of file test_interp_stack_config.c.

◆ FOREACH_INT

#define FOREACH_INT ( name,
values,
... )    FOREACH_TYPE(name, int, ARGS(values), __VA_ARGS__)

Definition at line 42 of file test_interp_stack_config.c.

◆ FOREACH_STRING

#define FOREACH_STRING ( name,
values,
... )    FOREACH_TYPE(name, ARGS(char const *), ARGS(values), __VA_ARGS__)

Definition at line 47 of file test_interp_stack_config.c.

◆ FOREACH_STRUCT

#define FOREACH_STRUCT ( name,
struct_name,
values,
... )    FOREACH_TYPE(name, ARGS(struct struct_name), ARGS(values), __VA_ARGS__)

Definition at line 49 of file test_interp_stack_config.c.

◆ FOREACH_TYPE

#define FOREACH_TYPE ( name,
type,
values,
... )
Value:
{ \
type name[] = {values}; \
FOREACH(name, __VA_ARGS__) \
}
enum callback_type type

Definition at line 37 of file test_interp_stack_config.c.

Function Documentation

◆ yac_interp_stack_config_add_spmap_()

static void yac_interp_stack_config_add_spmap_ ( struct yac_interp_stack_config * interp_stack_config,
double spread_distance,
double max_search_distance,
enum yac_interp_spmap_weight_type weight_type,
enum yac_interp_spmap_scale_type scale_type,
struct yac_spmap_cell_area_config src_cell_area_config,
struct yac_spmap_cell_area_config tgt_cell_area_config )
static

Definition at line 327 of file test_interp_stack_config.c.

Here is the call graph for this function: