~ubuntu-branches/ubuntu/vivid/ffc/vivid

« back to all changes in this revision

Viewing changes to ffc/representationutils.py

  • Committer: Package Import Robot
  • Author(s): Johannes Ring
  • Date: 2014-01-10 13:56:45 UTC
  • mfrom: (1.1.14)
  • Revision ID: package-import@ubuntu.com-20140110135645-4ozcd71y1oggj44z
Tags: 1.3.0-1
* New upstream release.
* debian/watch: Update URL for move to Bitbucket.
* debian/docs: README -> README.rst and remove TODO.
* debian/control:
  - Add python-numpy to Build-Depends.
  - Replace python-all with python-all-dev in Build-Depends.
  - Add ${shlibs:Depends} to Depends.
  - Change to Architecture: any.
  - Bump Standards-Version to 3.9.5 (no changes needed).
* debian/rules: Call dh_numpy in override_dh_python2.

Show diffs side-by-side

added added

removed removed

Lines of Context:
53
53
    if not special_case:
54
54
        return component, offset
55
55
 
56
 
    # Extract reference and physical value dimensions
 
56
    # Extract lists of reference and physical value dimensions by
 
57
    # sub-element
57
58
    reference_value_dims = []
58
59
    physical_value_dims = []
59
60
    for sub_element in ufl_element.sub_elements():
67
68
                                     - (gdim - tdim)]
68
69
            physical_value_dims += [sub_element.value_shape()[0]]
69
70
 
70
 
    # Figure out which sub-element number we are in:
 
71
    # Figure out which sub-element number 'component' is in,
 
72
    # 'sub_element_number' contains the result
71
73
    tot = physical_value_dims[0]
72
 
    for (sub_element_number, i) in enumerate(physical_value_dims):
 
74
    for sub_element_number in range(len(physical_value_dims)):
73
75
        if component < tot:
74
76
            break
75
77
        else:
76
 
            tot += i
 
78
            tot += physical_value_dims[sub_element_number+1]
77
79
 
78
80
    # Compute the new reference offset:
79
81
    reference_offset = sum(reference_value_dims[:sub_element_number])
118
120
def initialize_integral_code(ir, prefix, parameters):
119
121
    "Representation independent default initialization of code dict for integral from intermediate representation."
120
122
    code = {}
 
123
    code["restrict"] = parameters["restrict_keyword"]
121
124
    code["classname"] = format["classname " + ir["domain_type"] + "_integral"](prefix, ir["form_id"], ir["domain_id"])
122
125
    code["members"] = ""
123
126
    code["constructor"] = format["do nothing"]