Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

53 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

COMP 460, Spring 2018 — Final Project

Repo:

https://github.com/ConwayJ18/comp460s18final/

Contents:

File Name File Description
Driver.java Used to run all aspects of the program at once. 
src/dixon/Dixon.java Contains all necessary elements for the Dixon algorithm
src/logicalmatrix/LogicalMatrixMultiply.java Contains all necessary elements for Logical Matrix Multiplication
src/millerrabin/MillerRabin.java Contains all necessary elements for Primality Testing
src/pollardrho/PollardRho.java Contains all necessary elements for the Pollard's Rho algorithm
src/semiprime/SemiPrime.java Contains all necessary elements for Semi-Prime Testing
src/singlethread/DixonSingleThread.java An archival file to run Dixon on a single thread
src/singlethread/MillerRabinSingleThread.java An archival file to run Primality Testing on a single thread
src/singlethread/SemiPrimeSingleThread.java An archival file to run Semi-Prime Testing on a single thread
Documentation.pdf The documentation associated with this project.

Project Description:

This is a project designed to implement a set of Number Theoretic Algorithms on one or more threads.

The selected algorithms include the following:

  1. The Miller-Rabin Primality Testing Algorithm
  2. A standard Semi-Prime Testing Algorithm
  3. The Pollard's Rho Factoring Algorithm
  4. The Dixon Factoring Algorithm
  5. A Logical (0,1) Matrix Multiplication Algorithm

Each of these programs is run by the Driver.java file and can be run using multiple threads if the user so desires.

Project Roles:

Jess Conway — Project lead. Wrote the base code for each algorithm.
Pranjali Mishra — Multithreaded each algorithm to run on multiple cores.

How to run:

  1. Compile and run Driver.java
  2. Enter the number of cores (1-8) that you have on your computer
    • This will determine the number of threads used by the program
  3. Enter a number to run the non-matrix algorithms on
  4. Enter a number to use as the logical matrix dimension
  5. Repeat 3 & 4 as many times as desired, typing "0" when finished

About

COMP 460, Spring 2018 — Final Project

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages