Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code | Sign in
(5115)

Delta Between Two Patch Sets: cgen/templates/inlined/PyFloat_Type

Issue 14757: INCA: Inline Caching meets Quickening in Python 3.3
Left Patch Set: Created 1 year ago
Right Patch Set: Created 1 year ago
Left:
Right:
Use n/p to move between diff chunks; N/P to move between comments. Please Sign in to add in-line comments.
Jump to:
Left: Side by side diff | Download
Right: Side by side diff | Download
« no previous file with change/comment | « cgen/templates/inlined/PyComplex_Type ('k') | cgen/templates/inlined/PyLong_Type » ('j') | no next file with change/comment »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
LEFTRIGHT
1 %if instr.function_id in ['nb_add', 'nb_multiply', 'nb_subtract']: 1 %if instr.function_id in ['nb_add', 'nb_multiply', 'nb_subtract', 'nb_true_divid e']:
2 <% inlined= True %> 2 <% inlined= True %>
3 { 3 {
4 double a, b; 4 double a, b;
5 5
6 % if instr.function_id == 'nb_add': 6 % if instr.function_id == 'nb_add':
7 PyFPE_START_PROTECT("add", (a= 0)); 7 PyFPE_START_PROTECT("add", (a= 0));
8 a= PyFloat_AS_DOUBLE(v); 8 a= PyFloat_AS_DOUBLE(v);
9 b= PyFloat_AS_DOUBLE(w); 9 b= PyFloat_AS_DOUBLE(w);
10 a += b; 10 a += b;
11 PyFPE_END_PROTECT(a); 11 PyFPE_END_PROTECT(a);
12 % elif instr.function_id == 'nb_multiply': 12 % elif instr.function_id == 'nb_multiply':
13 PyFPE_START_PROTECT("mult", (a= 0)); 13 PyFPE_START_PROTECT("mult", (a= 0));
14 a= PyFloat_AS_DOUBLE(v); 14 a= PyFloat_AS_DOUBLE(v);
15 b= PyFloat_AS_DOUBLE(w); 15 b= PyFloat_AS_DOUBLE(w);
16 a *= b; 16 a *= b;
17 PyFPE_END_PROTECT(a); 17 PyFPE_END_PROTECT(a);
18 % elif instr.function_id == 'nb_subtract': 18 % elif instr.function_id == 'nb_subtract':
19 PyFPE_START_PROTECT("sub", (a= 0)); 19 PyFPE_START_PROTECT("sub", (a= 0));
20 a= PyFloat_AS_DOUBLE(v); 20 a= PyFloat_AS_DOUBLE(v);
21 b= PyFloat_AS_DOUBLE(w); 21 b= PyFloat_AS_DOUBLE(w);
22 a -= b; 22 a -= b;
23 PyFPE_END_PROTECT(a); 23 PyFPE_END_PROTECT(a);
24 % elif instr.function_id == 'nb_true_divide':
25 PyFPE_START_PROTECT("divide", (a= 0));
26 a= PyFloat_AS_DOUBLE(v);
27 b= PyFloat_AS_DOUBLE(w);
28 a /= b;
29 PyFPE_END_PROTECT(a);
24 % endif 30 % endif
25 x= PyFloat_FromDouble(a); 31 x= PyFloat_FromDouble(a);
26 } 32 }
27 %endif 33 %endif
LEFTRIGHT

RSS Feeds Recent Issues | This issue
This is Rietveld cbc36f91f3f7