Skip to content

Instantly share code, notes, and snippets.

View ram-nad's full-sized avatar
🎯
Focusing

Ram Nad ram-nad

🎯
Focusing
  • Sri City
View GitHub Profile
@ram-nad
ram-nad / ideas.md
Created October 21, 2020 09:17
Ideas for Study Clubs / Project

Projects

Moodle Moodle Clone

Study Club

AWS IOTA

proc heapify(high: int, in idx: int, arr: [1..high] int){
while(true){
var largest = idx;
var left = 2*idx;
var right = 2*idx + 1;
if(left <= high && arr(largest) < arr(left)){
largest = left;
}
if(right <= high && arr(largest) < arr(right)){
largest = right;
proc quicksort(low: int, high: int, arr: [low..high] int){
if(low >= high){
return;
}
var mid = arr(low + ((high - low) / 2));
var i = low - 1;
var j = high + 1;
while(true){
do{
i += 1;
proc mergesort(n: int, arr: [1..n] int){
if(n == 1){
return;
}
var midl = n / 2;
var midr = n - midl;
var left: [1..midl] int;
var right: [1..midr] int;
for i in 1..midl{
@ram-nad
ram-nad / multiprecision_binary_search_sqrt.cpp
Created March 22, 2020 10:26
Square Root using Binary Search Method
#include <iostream>
#include <boost/multiprecision/cpp_int.hpp>
#include <boost/multiprecision/number.hpp>
using namespace boost::multiprecision;
using namespace std;
int main()
{
@ram-nad
ram-nad / multiprecision_sin_taylor_series.cpp
Created March 22, 2020 10:24
Calculating sine function using taylor series.
#include <iostream>
#include <boost/math/constants/constants.hpp>
#include <boost/multiprecision/cpp_bin_float.hpp>
#include <boost/multiprecision/number.hpp>
#include <numeric>
using namespace boost::multiprecision;
typedef cpp_bin_float_50 num;
@ram-nad
ram-nad / karatsuba_multiply.cpp
Last active March 27, 2020 05:12
Karatsuba Multiplication
#include <chrono>
#include <cstring> // For memcpy, memset
#include <exception>
#include <iomanip>
#include <iostream>
#include <string>
#define KARATSUBA_CUTOFF(type) static_cast<type>(50)
class NumberBase {
#include <cmath>
#include <iomanip>
#include <iostream>
#include <utility>
double sqrt(double a) {
double b = a;
double diff = a - (b * b);
while (diff >= 1e-15 || diff <= -1e-15) {
b = (b + a / b) / 2;
@ram-nad
ram-nad / dev_article_sfinae.cpp
Created February 5, 2020 15:55
Code for Dev.to C++ Templates and SFINAE
#include <iostream>
#include <type_traits>
template <class T>
class check_new_interface {
template <class R>
static auto check(int) -> decltype(std::declval<R>().getValue(0, 0));
template <class>
static double check(double);