The Euclidean Algorithm

Total Page:16

File Type:pdf, Size:1020Kb

The Euclidean Algorithm The Euclidean Algorithm The Euclidean Algorithm appears in Book VII in Euclid's The Elements, written around 300 BC. It is one of the oldest mathematical algorithms. It is also one of the most applicable. The algorithm provides a systematic way to find the greatest common divisor GCD of two integers and provide additional important information about the relationship between the GCD and the two integers involved. Modern technology uses a variety of algorithms based on modular arithmetic including the public-key encryption RSA algorithm. Many of these algorithms in turn rely on the Euclidean Algorithm as an algorithm acting on the ring of integers or as an algorithm acting on a ring of polynomials. Here we introduce the Euclidean algorithm for the integers. The Euclidean Algorithm on the set of polynomials is similar. The concepts here may be generalized to any algebraic system which obeys the division algorithm; such rings are called Euclidean Domains. 1.1 Introduction We say that the integer d divides the integer a (written dja) if there is an integer k such that a = dk: For example, −5j20 since 20 = (−5)(−4): So the divisors of 20 are −20; −10; −5; −4; −2; −1; 1; 2; 4; 5; 10; 20: Given two integers a and b, we seek divisors d which divide both of these integers. We are in particular interested in the largest such divisor, the greatest common divisor of both a and b. (The set of all common divisors of a and b is exactly the set of divisors of the greatest common divisor.) Hereafter we abbreviate \greatest common divisor" of a and b by GCD or GCD(a; b). In order to avoid issue about "size", we will define the GCD of integers a and b as the positive integer d that satisfies the following condition: If cja and cjb then cjd (1) If a and b have common divisors (other than −1, 1) then there is a common prime p dividing both of them. The GCD of a and b is 1 if and only if the only common divisors of a and b are −1 and 1. In this case (since −1 and 1 divide every integer) we say that a and b \have no common divisors." Equivalently we say a and b are relatively prime. If an integer d divides both integers a and b then for any integer q, it divides a − qb: In particular, if d is the greatest divisor of a and b and r is the remainder (guaranteed by the division algorithm) upon division of a by q, then d also divides r. Conversely, if d divides b and d divides r = a−qb then d also divides a: Therefore the greatest common divisor of a and b is also the greatest common divisor of b and r: This is the essence of the Euclidean algorithm. We replace a pair of integes a and b by a smaller pair of integers b and r and iterate the process until we reach the smallest possible pair of integers. Suppose we are given two integers, a and b (for example, a = 843 52256 45419 and b = 105 46961 61403). Instead of hunting for divisors of a (8435225645419), we may divide the smaller number b (1054696161403) into the larger, and use the division algorithm to get a remainder r = a − qb; where 0 ≤ r < b: (In this case q = 7 and the remainder is r = 23436 45805.) Now we want the GCD of b and r, which are smaller numbers. Since the size of the positive integers is dropping, we may repeat this step, replacing a pair of integers ai and bi by bi and ri = ai − qbi 1 until we finally get a remainder of zero. Since, in the last step, the GCD of zero and an integer bk is just bk (every integer divides zero!), then the final integer bk is the GCD of a and b. This algorithm carries more information than might be obvious at first glance. Suppose we write a = a(1) + b(0); and b = a(0) + b(1); and, at each stage, write the new number in the form as + bt for integers s and t. Since each step in our algorithm involves computing ai −qbi, we may think of this process as an elementary row operation on a matrix of integers with rows of the form bi = as + bt; si; ti : (See Wikipedia for more on matrices and elementary row operations.) We will work out our example with a = 8435225645419 and b = 1054696161403 in detail. Table 1, below, is the algorithm in tabular form. The four columns represent −q (where q is the quotient in the current step of the division algorithm), bi = as + bt, s, and t. In the last two rows, we compute the GCD of 12347 and 0, and so the GCD of the original two numbers must be 12347. The process of computing the GCD of a = 8435225645419 and b = 1054696161403 requires nine rows. Table 1: Euclidean algorithm in tabular form −q as + bt s t a = 8435225645419 1 0 -7 b = 1054696161403 0 1 -1 1052352515598 1 -7 -449 2343645805 -1 8 -42 55549153 450 -3599 -5 10581379 -18901 151166 -4 2642258 94955 -759429 -214 12347 -398721 3188882 0 85421249 -683180177 Notice that this algorithm always allows us to write the GCD of a and b in the form as + bt. Here 12347 = a(−398721) + b(3188882): The equation GCD(a; b) = as + bt (2) is called Bezout's Identity. The Euclidean Algorithm not only finds the GCD of a and b but it also finds the integers s and t which satisfy Bezout's Identity. 1.2 Modular Arithmetic and the Group of Units of Zn We say that an integer a is congruent to b modulo n if n divides a − b. We write a ≡ b mod n: Intuitively, this means that a and b should have the same remainder upon division by n. For example, 13 and 34 are congruent modulo 7: By our definition, this is because 7 divides 34 − 13, but we might also notice that if we divided 13 or 34 by 7, we would get a remainder of 6 in each case. So 34 ≡ 13 ≡ 6 mod 7: We say a and n are relatively prime if GCD(a; n) = 1. If d > 1 is the GCD of a and n, then there is no solution to the equation ax ≡ 1 mod n, for a solution to this equation implies an integer k such that 1 = ax + kn, and any integer dividing a and n must also divide ax + kn. Conversely, if an integer a is relatively prime to an integer n then we may use the Euclidean algorithm to compute s and t such that 1 = as + nt: Then, modulo n, we have that 1 ≡ as; and so s is the inverse 2 of a mod n: We have just proven that a has a multiplicative inverse modulo n if and only if GCD(a; n) = 1; and, furthermore, when this occurs, the Euclidean algorithm in tabular format will reveal the inverse to us! We call the set of integers between 0 and n that are relatively prime to n the set of units of n. and write U(n) := fk 2 Z : 0 < k < n; GCD(k; n) = 1g: (U(n) is also called the group of units of n.) This set, U(n), is a critical set of study in the arithmetic of computations modulo n. For example, let us set n = 20 and look at U(20) = f1; 3; 7; 9; 11; 13; 17; 19g: We can multiply these number modulo 20. Below (Table 2) is the start of a multiplication table for the units of 20. Table 2: Multiplication modulo 20 · 1 3 7 9 11 13 17 19 1 1 3 7 9 11 13 17 19 3 3 9 1 7 13 19 11 17 7 7 1 9 9 9 7 1 19 11 11 13 13 13 19 17 17 11 19 19 17 1.3 More on the Group of Units of Zn We prove here some basic algebra results for the group of units. First we prove that the product of two units is again (congruent to) a unit. So the group of units is \closed" under multiplication. For example, in U(20), since 7 and 11 are both relatively prime to 20 then so is 77. And thus, when we reduce 77 modulo 20, we will obtain a number (17) already in the group of units. Lemma 1. If i and j are both relatively prime to n then so is ij. Proof. By the Euclidean algorithm, write 1 = is + nt for some integers s and t and write 1 = ju + nv for integers u and v. Then (1)(1) = (is + nt)(ju + nv): Rewrite the right hand side in the form (ij)s0 + (n)t0 for integers s0 and t0 and thus GCD(ij; n) = 1: Exercise for students in an algebra class. Show that U(n) is a group under multiplication. Lemma 2. Suppose a and b are relatively prime. Then if a divides m and b divides m then ab divides m. Proof. Suppose that GCD(a,b)=1 and ajm and bjm: Use the Euclidean algorithm to find integers s; t such that 1 = as + bt: Multiply this equation by m to get m = ams + bmt: 3 Since ajm there exists an integer j such that m = aj: Similarly there is an integer k such that m = bk: This allows us to write the equation for m above in the form m = a(bk)s + b(aj)t: So m = ab(ks + jt): Since ks + jt is an integer, we have ab dividing m.
Recommended publications
  • The Role of the Interval Domain in Modern Exact Real Airthmetic
    The Role of the Interval Domain in Modern Exact Real Airthmetic Andrej Bauer Iztok Kavkler Faculty of Mathematics and Physics University of Ljubljana, Slovenia Domains VIII & Computability over Continuous Data Types Novosibirsk, September 2007 Teaching theoreticians a lesson Recently I have been told by an anonymous referee that “Theoreticians do not like to be taught lessons.” and by a friend that “You should stop competing with programmers.” In defiance of this advice, I shall talk about the lessons I learned, as a theoretician, in programming exact real arithmetic. The spectrum of real number computation slow fast Formally verified, Cauchy sequences iRRAM extracted from streams of signed digits RealLib proofs floating point Moebius transformtions continued fractions Mathematica "theoretical" "practical" I Common features: I Reals are represented by successive approximations. I Approximations may be computed to any desired accuracy. I State of the art, as far as speed is concerned: I iRRAM by Norbert Muller,¨ I RealLib by Branimir Lambov. What makes iRRAM and ReaLib fast? I Reals are represented by sequences of dyadic intervals (endpoints are rationals of the form m/2k). I The approximating sequences need not be nested chains of intervals. I No guarantee on speed of converge, but arbitrarily fast convergence is possible. I Previous approximations are not stored and not reused when the next approximation is computed. I Each next approximation roughly doubles the amount of work done. The theory behind iRRAM and RealLib I Theoretical models used to design iRRAM and RealLib: I Type Two Effectivity I a version of Real RAM machines I Type I representations I The authors explicitly reject domain theory as a suitable computational model.
    [Show full text]
  • Division by Fractions 6.1.1 - 6.1.4
    DIVISION BY FRACTIONS 6.1.1 - 6.1.4 Division by fractions introduces three methods to help students understand how dividing by fractions works. In general, think of division for a problem like 8..,.. 2 as, "In 8, how many groups of 2 are there?" Similarly, ½ + ¼ means, "In ½ , how many fourths are there?" For more information, see the Math Notes boxes in Lessons 7.2 .2 and 7 .2 .4 of the Core Connections, Course 1 text. For additional examples and practice, see the Core Connections, Course 1 Checkpoint 8B materials. The first two examples show how to divide fractions using a diagram. Example 1 Use the rectangular model to divide: ½ + ¼ . Step 1: Using the rectangle, we first divide it into 2 equal pieces. Each piece represents ½. Shade ½ of it. - Step 2: Then divide the original rectangle into four equal pieces. Each section represents ¼ . In the shaded section, ½ , there are 2 fourths. 2 Step 3: Write the equation. Example 2 In ¾ , how many ½ s are there? In ¾ there is one full ½ 2 2 I shaded and half of another Thatis,¾+½=? one (that is half of one half). ]_ ..,_ .l 1 .l So. 4 . 2 = 2 Start with ¾ . 3 4 (one and one-half halves) Parent Guide with Extra Practice © 2011, 2013 CPM Educational Program. All rights reserved. 49 Problems Use the rectangular model to divide. .l ...:... J_ 1 ...:... .l 1. ..,_ l 1 . 1 3 . 6 2. 3. 4. 1 4 . 2 5. 2 3 . 9 Answers l. 8 2. 2 3. 4 one thirds rm I I halves - ~I sixths fourths fourths ~I 11 ~'.¿;¡~:;¿~ ffk] 8 sixths 2 three fourths 4.
    [Show full text]
  • Chapter 2. Multiplication and Division of Whole Numbers in the Last Chapter You Saw That Addition and Subtraction Were Inverse Mathematical Operations
    Chapter 2. Multiplication and Division of Whole Numbers In the last chapter you saw that addition and subtraction were inverse mathematical operations. For example, a pay raise of 50 cents an hour is the opposite of a 50 cents an hour pay cut. When you have completed this chapter, you’ll understand that multiplication and division are also inverse math- ematical operations. 2.1 Multiplication with Whole Numbers The Multiplication Table Learning the multiplication table shown below is a basic skill that must be mastered. Do you have to memorize this table? Yes! Can’t you just use a calculator? No! You must know this table by heart to be able to multiply numbers, to do division, and to do algebra. To be blunt, until you memorize this entire table, you won’t be able to progress further than this page. MULTIPLICATION TABLE ϫ 012 345 67 89101112 0 000 000LEARNING 00 000 00 1 012 345 67 89101112 2 024 681012Copy14 16 18 20 22 24 3 036 9121518212427303336 4 0481216 20 24 28 32 36 40 44 48 5051015202530354045505560 6061218243036424854606672Distribute 7071421283542495663707784 8081624324048566472808896 90918273HAWKESReview645546372819099108 10 0 10 20 30 40 50 60 70 80 90 100 110 120 ©11 0 11 22 33 44NOT 55 66 77 88 99 110 121 132 12 0 12 24 36 48 60 72 84 96 108 120 132 144 Do Let’s get a couple of things out of the way. First, any number times 0 is 0. When we multiply two numbers, we call our answer the product of those two numbers.
    [Show full text]
  • The Division Algorithm We All Learned Division with Remainder At
    The Division Algorithm We all learned division with remainder at elementary school. Like 14 divided by 3 has reainder 2:14 3 4 2. In general we have the following Division Algorithm. Let n be any integer and d 0 be a positive integer. Then you can divide n by d with remainder. That is n q d r,0 ≤ r d where q and r are uniquely determined. Given n we determine how often d goes evenly into n. Say, if n 16 and d 3 then 3 goes 5 times into 16 but there is a remainder 1 : 16 5 3 1. This works for non-negative numbers. If n −16 then in order to get a positive remainder, we have to go beyond −16 : −16 −63 2. Let a and b be integers. Then we say that b divides a if there is an integer c such that a b c. We write b|a for b divides a Examples: n|0 for every n :0 n 0; in particular 0|0. 1|n for every n : n 1 n Theorem. Let a,b,c be any integers. (a) If a|b, and a|cthena|b c (b) If a|b then a|b c for any c. (c) If a|b and b|c then a|c. (d) If a|b and a|c then a|m b n c for any integers m and n. Proof. For (a) we note that b a s and c a t therefore b c a s a t a s t.Thus a b c.
    [Show full text]
  • Three Methods of Finding Remainder on the Operation of Modular
    Zin Mar Win, Khin Mar Cho; International Journal of Advance Research and Development (Volume 5, Issue 5) Available online at: www.ijarnd.com Three methods of finding remainder on the operation of modular exponentiation by using calculator 1Zin Mar Win, 2Khin Mar Cho 1University of Computer Studies, Myitkyina, Myanmar 2University of Computer Studies, Pyay, Myanmar ABSTRACT The primary purpose of this paper is that the contents of the paper were to become a learning aid for the learners. Learning aids enhance one's learning abilities and help to increase one's learning potential. They may include books, diagram, computer, recordings, notes, strategies, or any other appropriate items. In this paper we would review the types of modulo operations and represent the knowledge which we have been known with the easiest ways. The modulo operation is finding of the remainder when dividing. The modulus operator abbreviated “mod” or “%” in many programming languages is useful in a variety of circumstances. It is commonly used to take a randomly generated number and reduce that number to a random number on a smaller range, and it can also quickly tell us if one number is a factor of another. If we wanted to know if a number was odd or even, we could use modulus to quickly tell us by asking for the remainder of the number when divided by 2. Modular exponentiation is a type of exponentiation performed over a modulus. The operation of modular exponentiation calculates the remainder c when an integer b rose to the eth power, bᵉ, is divided by a positive integer m such as c = be mod m [1].
    [Show full text]
  • Survey of Modern Mathematical Topics Inspired by History of Mathematics
    Survey of Modern Mathematical Topics inspired by History of Mathematics Paul L. Bailey Department of Mathematics, Southern Arkansas University E-mail address: [email protected] Date: January 21, 2009 i Contents Preface vii Chapter I. Bases 1 1. Introduction 1 2. Integer Expansion Algorithm 2 3. Radix Expansion Algorithm 3 4. Rational Expansion Property 4 5. Regular Numbers 5 6. Problems 6 Chapter II. Constructibility 7 1. Construction with Straight-Edge and Compass 7 2. Construction of Points in a Plane 7 3. Standard Constructions 8 4. Transference of Distance 9 5. The Three Greek Problems 9 6. Construction of Squares 9 7. Construction of Angles 10 8. Construction of Points in Space 10 9. Construction of Real Numbers 11 10. Hippocrates Quadrature of the Lune 14 11. Construction of Regular Polygons 16 12. Problems 18 Chapter III. The Golden Section 19 1. The Golden Section 19 2. Recreational Appearances of the Golden Ratio 20 3. Construction of the Golden Section 21 4. The Golden Rectangle 21 5. The Golden Triangle 22 6. Construction of a Regular Pentagon 23 7. The Golden Pentagram 24 8. Incommensurability 25 9. Regular Solids 26 10. Construction of the Regular Solids 27 11. Problems 29 Chapter IV. The Euclidean Algorithm 31 1. Induction and the Well-Ordering Principle 31 2. Division Algorithm 32 iii iv CONTENTS 3. Euclidean Algorithm 33 4. Fundamental Theorem of Arithmetic 35 5. Infinitude of Primes 36 6. Problems 36 Chapter V. Archimedes on Circles and Spheres 37 1. Precursors of Archimedes 37 2. Results from Euclid 38 3. Measurement of a Circle 39 4.
    [Show full text]
  • Math 3010 § 1. Treibergs First Midterm Exam Name
    Math 3010 x 1. First Midterm Exam Name: Solutions Treibergs February 7, 2018 1. For each location, fill in the corresponding map letter. For each mathematician, fill in their principal location by number, and dates and mathematical contribution by letter. Mathematician Location Dates Contribution Archimedes 5 e β Euclid 1 d δ Plato 2 c ζ Pythagoras 3 b γ Thales 4 a α Locations Dates Contributions 1. Alexandria E a. 624{547 bc α. Advocated the deductive method. First man to have a theorem attributed to him. 2. Athens D b. 580{497 bc β. Discovered theorems using mechanical intuition for which he later provided rigorous proofs. 3. Croton A c. 427{346 bc γ. Explained musical harmony in terms of whole number ratios. Found that some lengths are irrational. 4. Miletus D d. 330{270 bc δ. His books set the standard for mathematical rigor until the 19th century. 5. Syracuse B e. 287{212 bc ζ. Theorems require sound definitions and proofs. The line and the circle are the purest elements of geometry. 1 2. Use the Euclidean algorithm to find the greatest common divisor of 168 and 198. Find two integers x and y so that gcd(198; 168) = 198x + 168y: Give another example of a Diophantine equation. What property does it have to be called Diophantine? (Saying that it was invented by Diophantus gets zero points!) 198 = 1 · 168 + 30 168 = 5 · 30 + 18 30 = 1 · 18 + 12 18 = 1 · 12 + 6 12 = 3 · 6 + 0 So gcd(198; 168) = 6. 6 = 18 − 12 = 18 − (30 − 18) = 2 · 18 − 30 = 2 · (168 − 5 · 30) − 30 = 2 · 168 − 11 · 30 = 2 · 168 − 11 · (198 − 168) = 13 · 168 − 11 · 198 Thus x = −11 and y = 13 .
    [Show full text]
  • Number Theory Learning Module 3 — the Greatest Common Divisor 1
    Number Theory Learning Module 3 — The Greatest Common Divisor 1 1 Objectives. • Understand the definition of greatest common divisor (gcd). • Learn the basic the properties of the gcd. • Understand Euclid’s algorithm. • Learn basic proofing techniques for greatest common divisors. 2 The Greatest Common Divisor Classical Greek mathematics concerned itself mostly with geometry. The notion of measurement is fundamental to ge- ometry, and the Greeks were the first to provide a formal foundation for this concept. Surprisingly, however, they never used fractions to express measurements (and never developed an arithmetic of fractions). They expressed geometrical measurements as relations between ratios. In numerical terms, these are statements like: 168 is to 120 as 7 is to 4, (2.1) which we would write today as 168{120 7{5. Statements such as (2.1) were natural to greek mathematicians because they viewed measuring as the process of finding a “common integral measure”. For example, we have: 168 24 ¤ 7 120 24 ¤ 5; so that we can use the integer 24 as a “common unit” to measure the numbers 168 and 120. Going back to our example, notice that 24 is not the only common integral measure for the integers 168 and 120, since we also have, for example, 168 6 ¤ 28 and 120 6 ¤ 20. The number 24, however, is the largest integer that can be used to “measure” both 168 and 120, and gives the representation in lowest terms for their ratio. This motivates the following definition: Definition 2.1. Let a and b be integers that are not both zero.
    [Show full text]
  • 1.3 Division of Polynomials; Remainder and Factor Theorems
    1-32 CHAPTER 1. POLYNOMIAL AND RATIONAL FUNCTIONS 1.3 Division of Polynomials; Remainder and Factor Theorems Objectives • Perform long division of polynomials • Perform synthetic division of polynomials • Apply remainder and factor theorems In previous courses, you may have learned how to factor polynomials using various techniques. Many of these techniques apply only to special kinds of polynomial expressions. For example, the the previous two sections of this chapter dealt only with polynomials that could easily be factored to find the zeros and x-intercepts. In order to be able to find zeros and x-intercepts of polynomials which cannot readily be factored, we first introduce long division of polynomials. We will then use the long division algorithm to make a general statement about factors of a polynomial. Long division of polynomials Long division of polynomials is similar to long division of numbers. When divid- ing polynomials, we obtain a quotient and a remainder. Just as with numbers, if a remainder is 0, then the divisor is a factor of the dividend. Example 1 Determining Factors by Division Divide to determine whether x − 1 is a factor of x2 − 3x +2. Solution Here x2 − 3x +2is the dividend and x − 1 is the divisor. Step 1 Set up the division as follows: divisor → x − 1 x2−3x+2 ← dividend Step 2 Divide the leading term of the dividend (x2) by the leading term of the divisor (x). The result (x)is the first term of the quotient, as illustrated below. x ← first term of quotient x − 1 x2 −3x+2 1.3.
    [Show full text]
  • Primality Testing for Beginners
    STUDENT MATHEMATICAL LIBRARY Volume 70 Primality Testing for Beginners Lasse Rempe-Gillen Rebecca Waldecker http://dx.doi.org/10.1090/stml/070 Primality Testing for Beginners STUDENT MATHEMATICAL LIBRARY Volume 70 Primality Testing for Beginners Lasse Rempe-Gillen Rebecca Waldecker American Mathematical Society Providence, Rhode Island Editorial Board Satyan L. Devadoss John Stillwell Gerald B. Folland (Chair) Serge Tabachnikov The cover illustration is a variant of the Sieve of Eratosthenes (Sec- tion 1.5), showing the integers from 1 to 2704 colored by the number of their prime factors, including repeats. The illustration was created us- ing MATLAB. The back cover shows a phase plot of the Riemann zeta function (see Appendix A), which appears courtesy of Elias Wegert (www.visual.wegert.com). 2010 Mathematics Subject Classification. Primary 11-01, 11-02, 11Axx, 11Y11, 11Y16. For additional information and updates on this book, visit www.ams.org/bookpages/stml-70 Library of Congress Cataloging-in-Publication Data Rempe-Gillen, Lasse, 1978– author. [Primzahltests f¨ur Einsteiger. English] Primality testing for beginners / Lasse Rempe-Gillen, Rebecca Waldecker. pages cm. — (Student mathematical library ; volume 70) Translation of: Primzahltests f¨ur Einsteiger : Zahlentheorie - Algorithmik - Kryptographie. Includes bibliographical references and index. ISBN 978-0-8218-9883-3 (alk. paper) 1. Number theory. I. Waldecker, Rebecca, 1979– author. II. Title. QA241.R45813 2014 512.72—dc23 2013032423 Copying and reprinting. Individual readers of this publication, and nonprofit libraries acting for them, are permitted to make fair use of the material, such as to copy a chapter for use in teaching or research. Permission is granted to quote brief passages from this publication in reviews, provided the customary acknowledgment of the source is given.
    [Show full text]
  • CSU200 Discrete Structures Professor Fell Integers and Division
    CSU200 Discrete Structures Professor Fell Integers and Division Though you probably learned about integers and division back in fourth grade, we need formal definitions and theorems to describe the algorithms we use and to very that they are correct, in general. If a and b are integers, a ¹ 0, we say a divides b if there is an integer c such that b = ac. a is a factor of b. a | b means a divides b. a | b mean a does not divide b. Theorem 1: Let a, b, and c be integers, then 1. if a | b and a | c then a | (b + c) 2. if a | b then a | bc for all integers, c 3. if a | b and b | c then a | c. Proof: Here is a proof of 1. Try to prove the others yourself. Assume a, b, and c be integers and that a | b and a | c. From the definition of divides, there must be integers m and n such that: b = ma and c = na. Then, adding equals to equals, we have b + c = ma + na. By the distributive law and commutativity, b + c = (m + n)a. By closure of addition, m + n is an integer so, by the definition of divides, a | (b + c). Q.E.D. Corollary: If a, b, and c are integers such that a | b and a | c then a | (mb + nc) for all integers m and n. Primes A positive integer p > 1 is called prime if the only positive factor of p are 1 and p.
    [Show full text]
  • Fast Integer Division – a Differentiated Offering from C2000 Product Family
    Application Report SPRACN6–July 2019 Fast Integer Division – A Differentiated Offering From C2000™ Product Family Prasanth Viswanathan Pillai, Himanshu Chaudhary, Aravindhan Karuppiah, Alex Tessarolo ABSTRACT This application report provides an overview of the different division and modulo (remainder) functions and its associated properties. Later, the document describes how the different division functions can be implemented using the C28x ISA and intrinsics supported by the compiler. Contents 1 Introduction ................................................................................................................... 2 2 Different Division Functions ................................................................................................ 2 3 Intrinsic Support Through TI C2000 Compiler ........................................................................... 4 4 Cycle Count................................................................................................................... 6 5 Summary...................................................................................................................... 6 6 References ................................................................................................................... 6 List of Figures 1 Truncated Division Function................................................................................................ 2 2 Floored Division Function................................................................................................... 3 3 Euclidean
    [Show full text]