MCPcopy Create free account
hub / github.com/NanoComp/meep / vec2diel_floor

Function vec2diel_floor

tests/array-metadata.cpp:31–39  ·  view source on GitHub ↗

/ / /

Source from the content-addressed store, hash-verified

29/***************************************************************/
30/***************************************************************/
31static ivec vec2diel_floor(const vec &pt, double a, const ivec &equal_shift) {
32 ivec ipt(pt.dim);
33 LOOP_OVER_DIRECTIONS(pt.dim, d) {
34 ipt.set_direction(d, 1 + 2 * int(floor(pt.in_direction(d) * a - .5)));
35 if (ipt.in_direction(d) == pt.in_direction(d))
36 ipt.set_direction(d, ipt.in_direction(d) + equal_shift.in_direction(d));
37 }
38 return ipt;
39}
40static ivec vec2diel_ceil(const vec &pt, double a, const ivec &equal_shift) {
41 ivec ipt(pt.dim);
42 LOOP_OVER_DIRECTIONS(pt.dim, d) {

Callers 2

loop_in_chunksMethod · 0.85
test_array_metadataFunction · 0.85

Calls 3

LOOP_OVER_DIRECTIONSFunction · 0.50
set_directionMethod · 0.45
in_directionMethod · 0.45

Tested by 1

test_array_metadataFunction · 0.68