diff options
Diffstat (limited to 'entries/braxtonhall')
-rw-r--r-- | entries/braxtonhall/adam/main.py | 16 | ||||
-rw-r--r-- | entries/braxtonhall/express/index.js | 22 | ||||
-rw-r--r-- | entries/braxtonhall/homework/fib.cpp | 32 | ||||
-rw-r--r-- | entries/braxtonhall/homework/fib.hpp | 4 | ||||
-rw-r--r-- | entries/braxtonhall/types/index.ts | 18 | ||||
-rw-r--r-- | entries/braxtonhall/types/test.ts | 19 |
6 files changed, 111 insertions, 0 deletions
diff --git a/entries/braxtonhall/adam/main.py b/entries/braxtonhall/adam/main.py new file mode 100644 index 0000000..71cb8da --- /dev/null +++ b/entries/braxtonhall/adam/main.py @@ -0,0 +1,16 @@ +# from tensorflow.keras.optimizers import Adam +# from tensorflow.keras.models import Sequential +# from tensorflow.keras.layers import Dense + +def main(): + # model = Sequential() + # model.add(Dense(12, input_shape=(8,), activation='relu')) + # model.add(Dense(8, activation='relu')) + # model.add(Dense(1, activation='sigmoid')) + + # model.fit(X, y, epochs=4000) + pass # TODO fill out the rest of this stupid idea + + +if __name__ == '__main__': + main() diff --git a/entries/braxtonhall/express/index.js b/entries/braxtonhall/express/index.js new file mode 100644 index 0000000..2da6092 --- /dev/null +++ b/entries/braxtonhall/express/index.js @@ -0,0 +1,22 @@ +import { get } from "axios"; +import express from "express"; + +const app = express(); + +const getURL = (n) => `/fib?${new URLSearchParams({n})}`; + +app.get("/fib", async (res, req, next) => { + const {n} = req.params; + if (n <= 0) { + res.send(n).status(200); + } else { + const futures = [get(getURL(n - 1)), get(getURL(n - 2))]; + const [nSub1, nSub2] = await Promise.all(futures); + res.send(nSub1 + nSub2).status(200); + } + return next(); +}); + +app.start(); + +// TODO... is this syntax correct??? diff --git a/entries/braxtonhall/homework/fib.cpp b/entries/braxtonhall/homework/fib.cpp new file mode 100644 index 0000000..900c9d0 --- /dev/null +++ b/entries/braxtonhall/homework/fib.cpp @@ -0,0 +1,32 @@ +#include "fib.hpp" + +#include <string> +#include <iostream> +#include <stdexcept> + +using namespace std; + +int Fibonacci::fib(const int n) const +{ + // cout << "start" << endl; + if (n < 0) { + // HOW?? + cout << "wtfff got ( " << n << " )" << endl; + // https://stackoverflow.com/questions/8480640/how-to-throw-a-c-exception + throw invalid_argument("received negative value"); + } else if (n == 0) { + // cout << "********************* LINE 12" << endl; + // https://stackoverflow.com/questions/1451170/in-the-fibonacci-sequence-is-fib0-0-or-1 + return 0; //1; ?????? + } else if (n == 1) { + // cout << "!!!!!!!!!!!!!!!!!!!!!!!!!!!!! LINE 15" << endl; + return 1; + } else { + // cout << "GOT TO LINE 19" << endl; + // cout << "got here" << endl; + // int retVal = fib(n - 1) + fib(n - 2); + return fib(n - 1) + fib(n - 2); + // // cout << "here" << endl; + // cout << "returning: (" << retVal << " )" << endl; + } +} diff --git a/entries/braxtonhall/homework/fib.hpp b/entries/braxtonhall/homework/fib.hpp new file mode 100644 index 0000000..a7bbd30 --- /dev/null +++ b/entries/braxtonhall/homework/fib.hpp @@ -0,0 +1,4 @@ +class Fibonacci +{ + int fib(const int n) const; +}; diff --git a/entries/braxtonhall/types/index.ts b/entries/braxtonhall/types/index.ts new file mode 100644 index 0000000..11f4086 --- /dev/null +++ b/entries/braxtonhall/types/index.ts @@ -0,0 +1,18 @@ +type Zero = "😰"; + +type Succ<N> = {prev: N}; + +type Prev<N> = N extends Succ<infer P> ? P : never; + +type Add<A, B> = B extends Zero ? A : Succ<Add<A, Prev<B>>>; + +type _Fib<N, AccumulatorA, AccumulatorB> = + N extends Zero + ? AccumulatorA + : N extends Succ<Zero> + ? AccumulatorB + : _Fib<Prev<N>, AccumulatorB, Add<AccumulatorA, AccumulatorB>>; + +type Fib<N> = _Fib<N, Zero, Succ<Zero>>; + +export type {Zero, Succ, Fib}; diff --git a/entries/braxtonhall/types/test.ts b/entries/braxtonhall/types/test.ts new file mode 100644 index 0000000..2ce83e7 --- /dev/null +++ b/entries/braxtonhall/types/test.ts @@ -0,0 +1,19 @@ +import {Zero, Succ, Fib} from "./index"; + +const zero: Zero = "😰"; +const one: Succ<typeof zero> = {prev: zero}; +const two: Succ<typeof one> = {prev: one}; +const three: Succ<typeof two> = {prev: two}; +const four: Succ<typeof three> = {prev: three}; +const five: Succ<typeof four> = {prev: four}; +const six: Succ<typeof five> = {prev: five}; +const seven: Succ<typeof six> = {prev: six}; +const eight: Succ<typeof seven> = {prev: seven}; + +const fibZero: Fib<typeof zero> = zero; +const fibOne: Fib<typeof one> = one; +const fibTwo: Fib<typeof two> = one; +const fibThree: Fib<typeof three> = two; +const fibFour: Fib<typeof four> = three; +const fibFive: Fib<typeof five> = five; +const fibSix: Fib<typeof six> = eight; |