Computer Systems: A Programmer's Perspective (3rd Edition)
3rd Edition
ISBN: 9780134092669
Author: Bryant, Randal E. Bryant, David R. O'Hallaron, David R., Randal E.; O'Hallaron, Bryant/O'hallaron
Publisher: PEARSON
expand_more
expand_more
format_list_bulleted
Question
Chapter 5.9, Problem 5.8PP
Program Plan Intro
Given C code:
double aprod(double a[], long n)
{
long i;
double x, y, z;
double r = 1;
for(i=0; i<n-2; i+=3)
{
x = a[i];
y = a[i + 1];
z = a[i+2];
r = r*x*y*z;
}
for(;i<n ; i++)
r*=a[i];
return r;
}
Cycles per element (CPE):
- The CPE denotes performance of
program that helps in improving code. - It helps to understand detailed level loop performance for an iterative program.
- It is appropriate for programs that use a repetitive computation.
- The processor’s activity sequencing is controlled by a clock that provides regular signal of some frequency.
Memory aliasing:
- It denotes a case where two pointers might designate to memory location that is same.
- The compiler should assume that unlike pointers might be aliased for safe optimizations.
- The program aspects that could limit chances for a compiler in generating optimized code denote optimization blockers.
- If a compiler is unable to determine whether two pointers might be aliased, it should adopt that either case would be possible.
- The possible optimization set is been limited in this case.
Expert Solution & Answer
Want to see the full answer?
Check out a sample textbook solutionStudents have asked these similar questions
Dynamic Programming) Recall the rod cutting problem. We are given a non-negative integer n and an array P[1..n] of prices. We wish to cut the rod into a number of pieces whose lengths sum to n in order to sell the pieces. We are paid P[i] for selling a piece of length i. Our goal is to find the maximum total selling price for our pieces of rod. Consider a variant of the problem where we can cut the rod into at most k pieces where k ≤ n is given as part of the input. Describe an efficient algorithm for this version of the problem.
c++ solve with the function
Given 2 arrays of integers with size n. Check whether the given arrays are equal.
INPUT:56 9 1 4 74 7 1 6 9OUTPUT:YES
(Because each element in the first array corresponds to an element in the second)
PYTHON/ COMPUTATIONAL STOICHIOMETRY
Please help me build the stochiometric matrix for the chemical reaction.kindly use the code provided to guide your solution.
1.7 A + 2.1 B + 1.5 C <=> 3 D + 3.8 E + 1.2 F
Code Block to build stoichiometric matrix:
import numpy as np
# Initialize the stoichiometric matrix as zeros_mtrx = np.zeros((len(reactions), len(species)))
for (i_row, r) in enumerate(reactions): left = r.split('<=>')[0].strip() right = r.split('<=>')[1].strip() left_terms = left.split('+') left_terms = [t.strip() for t in left_terms] # in-place clean up right_terms = right.split('+') right_terms = [t.strip() for t in right_terms] # in-place clean up for t in left_terms: # reactants tmp = t.split(' ') # split stoichiometric coeff and species name if len(tmp) == 2: # stoich coeff and species name coeff = float(tmp[0].strip()) species_member = tmp[1].strip() j_col…
Chapter 5 Solutions
Computer Systems: A Programmer's Perspective (3rd Edition)
Knowledge Booster
Similar questions
- c) Using a counting method or otherwise, show that the number of array accesses of the 3-sum algorithm given below is in the order of -N. 6. int count = 0; for (int i = 0; i< N; i++) { for (int j = i+1; j< N; j++) { for (int k = j+1; k< N; k++) { if (a[i] + a[j] + a[k] == 0) { count++ ; } }arrow_forwardLanguage: C Write a C program that allocates memory using the malloc function for an array of size specified by the user at runtime. Assign pseudo-random double values to the array elements, then sort the array using the qsort function. Using the examples from the lecture, define a function that compares numbers of type double. Pass the function address to the qsort function. Use the free function to free up memory. Problem 1 and Problem 2.arrow_forwardCourse:Artificial Intelligence Topic:Sample Neural Network to calculate total error using Forward pass backpropagation. Problem:Implement forward pass backpropagation for 100(for two input 200)random numbers.(Set range for random numbers 0.01-1.00) using C++/Python with short explanation with key points.arrow_forward
- I i. In. * M & 4 9:Y Q1/(7 Marks) /For the circuit shown below, :(select the write answer) 1.2 Ω ww 20 A 80 120 62 (2) ibäi The total resistance (equivalent) can :be found as [{[(12//8)+1.2]+[4+(6//3)]}+1]//2 O K[(12//8)+1.2]//[4+(6//3)]}+1]//2 O K[(12//8)+(1.2//4)+(6//3)]+1}//2] O K[[(12//8)+(1.2+4)+(6//3)]//1}//2] O نقطة واحدة :The total resistance value is 2.40 2.3 Q. 1.3 Q 1.5 Q II ww ww wwarrow_forwardProblem 7 [Algorithms integers m and k such that n = m × 24, where m is the smallest integer. For any even integer n, it is always possible to find a pair of 1. Write an algorithm that finds a factorization of any even integer n as stated above. For instance, we have the following two factorizations: 48 = 3 × 24 instead of 48 = 12 × 22 52 = 13 x 22 instead of 52 = 26 × 2. 2. Analyze the time of your algorithm by computing the number of its multiplications. Show your work step by step. Otherwise, your solution is incorrect.arrow_forward7. Consider the sample program array max.cpp. (a) Clearly describe the changes necessary to find the minimum value in the array. (b) Explain how to test your answer to (a).arrow_forward
- Q1/ Design a Program to Print a [4 x4] the unit matrix?arrow_forwardSubject : programming language : c++ Question : Write c++ program and test the following functions :void multiply (float a[ ], int n, float b [ ] );The function multiplies the first n elements of a by corresponding first n elements of b. For example: if a is the array {2.2,3.3,4.4,5.5,6.6,7.7,8.8,9.9} and b is the array {4.0,-3.0, 2.0,-1.0, 0.0,0.0} Then the call multiple (a, b, 5) would transform a into the array {8.8, - 9.9, 8.8, - 5.5,0.0,7.7, 8.8,9.9}arrow_forwardProblem 3: Dot Product Write a function which takes input parameters A, and B and returns the dotproduct of two matrices then compare your dot product function w.r.t. the built-in function np.dot() [ ] def dotprod(A,B): A = np.array([[3,4],[-1, 2]]) B = np.array([[5,2],[8, -3]]) #calculate dotprod (A,B) Compare your results to the built.in function np. dot(A, B) [ ] np.dot(A,B) [ ] # how about some random matrices,arrow_forward
- 1) Consider an integer array a of length n with indexing starting at 0, where n is a positive integer.If the elements of array a are to be written out in reverse order, which of the following C++ code fragment does NOT do the job? Question options: a. int i=n-1; while (i>=1){cout << a[i] << endl; i = i-1;} cout << a[i] << endl; b. int i=n-1; while (i>=1){cout << a[i] << endl; i = i-1;} c. int i=n-1; while (i>=0){cout << a[i] << endl; i = i-1;} d. int i=n; while (i>0){cout << a[i-1] << endl; i = i-1;} 2) Assume we use 8-bit cell to store floating point numbers, 1 bit for sign, 3 bits for excessed exponent, and 4 bits for significand. What is the decimal value for a cell with bit pattern 0 111 1101 Question options: a. 125 b. 224…arrow_forwardComputer Science Convert this sequential code into parallel C code. Given constants aj and bk stored in arrays a[ [ ] and b[ ], respectively, and values for unknowns to be stored in array, x[ ], sequential code could be x[0] = b[0]/a[0][0]; * computed separately */ *for remaining unknowns*/ %3D for (i = 1; i< n; i++) { sum = 0; For (j = 0; j< i; j++ sum = sum + a[i][j]*x[j]; %3D %3D x[i] = (b[i] - sum)/a[i][i]; }arrow_forwardc++ solve with the function Enter an integer array consisting of n elements. Replace elements that are multiples of 5 with the minimum number. INPUT:85 3 5 25 8 10 2 100OUTPUT:2 3 2 2 8 2 2 2arrow_forward
arrow_back_ios
SEE MORE QUESTIONS
arrow_forward_ios
Recommended textbooks for you
- Database System ConceptsComputer ScienceISBN:9780078022159Author:Abraham Silberschatz Professor, Henry F. Korth, S. SudarshanPublisher:McGraw-Hill EducationStarting Out with Python (4th Edition)Computer ScienceISBN:9780134444321Author:Tony GaddisPublisher:PEARSONDigital Fundamentals (11th Edition)Computer ScienceISBN:9780132737968Author:Thomas L. FloydPublisher:PEARSON
- C How to Program (8th Edition)Computer ScienceISBN:9780133976892Author:Paul J. Deitel, Harvey DeitelPublisher:PEARSONDatabase Systems: Design, Implementation, & Manag...Computer ScienceISBN:9781337627900Author:Carlos Coronel, Steven MorrisPublisher:Cengage LearningProgrammable Logic ControllersComputer ScienceISBN:9780073373843Author:Frank D. PetruzellaPublisher:McGraw-Hill Education
Database System Concepts
Computer Science
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:McGraw-Hill Education
Starting Out with Python (4th Edition)
Computer Science
ISBN:9780134444321
Author:Tony Gaddis
Publisher:PEARSON
Digital Fundamentals (11th Edition)
Computer Science
ISBN:9780132737968
Author:Thomas L. Floyd
Publisher:PEARSON
C How to Program (8th Edition)
Computer Science
ISBN:9780133976892
Author:Paul J. Deitel, Harvey Deitel
Publisher:PEARSON
Database Systems: Design, Implementation, & Manag...
Computer Science
ISBN:9781337627900
Author:Carlos Coronel, Steven Morris
Publisher:Cengage Learning
Programmable Logic Controllers
Computer Science
ISBN:9780073373843
Author:Frank D. Petruzella
Publisher:McGraw-Hill Education