TheAlgorithms/C++ 1.0.0
All the algorithms implemented in C++
Loading...
Searching...
No Matches
babylonian_method.cpp File Reference

A babylonian method (BM) is an algorithm that computes the square root. More...

#include <cassert>
#include <cmath>
#include <iostream>
Include dependency graph for babylonian_method.cpp:

Go to the source code of this file.

Namespaces

namespace  numerical_methods
 for assert
 

Functions

double numerical_methods::babylonian_method (double radicand)
 Babylonian methods is an iterative function which returns square root of radicand.
 
static void test ()
 Self-test implementations.
 
int main (int argc, char const *argv[])
 Main function.
 

Detailed Description

A babylonian method (BM) is an algorithm that computes the square root.

This algorithm has an application in use case scenario where a user wants find accurate square roots of large numbers

Author
Ameya Chawla

Definition in file babylonian_method.cpp.

Function Documentation

◆ main()

int main ( int argc,
char const * argv[] )

Main function.

Parameters
argccommandline argument count (ignored)
argvcommandline array of arguments (ignored) calls automated test function to test the working of fast fourier transform.
Returns
0 on exit

Definition at line 96 of file babylonian_method.cpp.

96 {
97 test(); // run self-test implementations
98 // with 2 defined test cases
99 return 0;
100}
static void test()
Self-test implementations.

◆ test()

static void test ( )
static

Self-test implementations.

Declaring two test cases and checking for the error in predicted and true value is less than 0.0001.

Returns
void

Testcase 1

Testcase 2

Real Output 1

Real Output 2

Test result for testcase 1

Test result for testcase 2

Testing for test Case 1

Testing for test Case 2

Definition at line 62 of file babylonian_method.cpp.

62 {
63 /* descriptions of the following test */
64
65 auto testcase1 = 125348;
66 auto testcase2 = 752080;
67
68 auto real_output1 = 354.045194855;
69 auto real_output2 = 867.225460881;
70
71 auto test_result1 = numerical_methods::babylonian_method(testcase1);
73 auto test_result2 = numerical_methods::babylonian_method(testcase2);
75
76 assert(std::max(test_result1, real_output1) -
77 std::min(test_result1, real_output1) <
78 0.0001);
80 assert(std::max(test_result2, real_output2) -
81 std::min(test_result2, real_output2) <
82 0.0001);
84
85 std::cout << "All tests have successfully passed!\n";
86}
double babylonian_method(double radicand)
Babylonian methods is an iterative function which returns square root of radicand.