From d13b277b5622296fc00e89c9fda905dd1a0e20af Mon Sep 17 00:00:00 2001 From: Andreas Kloeckner <inform@tiker.net> Date: Mon, 19 Jan 2015 21:24:08 -0600 Subject: [PATCH] Fix check for mixing of C/F order with layout nesting level --- loopy/kernel/array.py | 27 ++++++++++++++------------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/loopy/kernel/array.py b/loopy/kernel/array.py index bd72152ad..9abbe8195 100644 --- a/loopy/kernel/array.py +++ b/loopy/kernel/array.py @@ -298,21 +298,22 @@ def parse_array_dim_tags(dim_tags, use_increasing_target_axes=False): has_explicit_nesting_level, parsed_dim_tag = _parse_array_dim_tag( dim_tag, default_target_axis, nesting_levels) - # {{{ check for C/F mixed with explicit layout nesting level specs - - if parsed_dim_tag.target_axis in target_axis_to_has_explicit_nesting_level: - if (has_explicit_nesting_level - != target_axis_to_has_explicit_nesting_level[ - parsed_dim_tag.target_axis]): - raise LoopyError("may not mix C/F dim_tag specifications with " - "explicit specification of layout nesting levels") - else: - target_axis_to_has_explicit_nesting_level[parsed_dim_tag.target_axis] = \ - has_explicit_nesting_level + if isinstance(parsed_dim_tag, _StrideArrayDimTagBase): + # {{{ check for C/F mixed with explicit layout nesting level specs + + if (parsed_dim_tag.target_axis + in target_axis_to_has_explicit_nesting_level): + if (has_explicit_nesting_level + != target_axis_to_has_explicit_nesting_level[ + parsed_dim_tag.target_axis]): + raise LoopyError("may not mix C/F dim_tag specifications with " + "explicit specification of layout nesting levels") + else: + target_axis_to_has_explicit_nesting_level[parsed_dim_tag.target_axis] = \ + has_explicit_nesting_level - # }}} + # }}} - if isinstance(parsed_dim_tag, _StrideArrayDimTagBase): lnl = parsed_dim_tag.layout_nesting_level target_axis = parsed_dim_tag.target_axis if lnl is not None: -- GitLab