Skip to content

Instantly share code, notes, and snippets.

@scientific-coder
scientific-coder / pdf-to-structure.py
Created November 7, 2024 22:40 — forked from cpfiffer/pdf-to-structure.py
Get structured output from PDFs. Goes through a PDF one page at a time -- it is not currently build for multiple pages, but could be extended as needed.
"""
pip install outlines torch==2.4.0 transformers accelerate typing-extensions pillow pdf2image rich requests
may need to install tkinter: https://stackoverflow.com/questions/25905540/importerror-no-module-named-tkinter
sudo apt-get install poppler-utils
"""
from enum import Enum
from io import BytesIO
@scientific-coder
scientific-coder / odd_one_out_benchmark.py
Created October 22, 2024 23:47 — forked from JoshuaPurtell/odd_one_out_benchmark.py
How does GPT-4O's internal state tracking stack up?
import asyncio
import os
import random
import hashlib
from datetime import datetime
from typing import Dict, List, Type
from dotenv import load_dotenv
from loguru import logger
from pydantic import BaseModel
@scientific-coder
scientific-coder / core.cljc
Created June 3, 2024 11:10 — forked from cgrand/core.cljc
adhoc parquet layout, random search, no optimization. Hot reload to update.
(ns parquet-layout.core)
(defn destock
([stock] stock)
([stock board]
(let [n (dec (stock board))]
(if (zero? n)
(dissoc stock board)
(assoc stock board n)))))
(def lang1-parser
(instaparse.core/parser
"prog = (spaces? expr spaces? <';'> spaces?)*
<expr> = assig | add-sub
assig = varname spaces? <'='> spaces? expr
<add-sub> = mult-div | add | sub
add = add-sub spaces? <'+'> spaces? mult-div
sub = add-sub spaces? <'-'> spaces? mult-div
<mult-div> = factor | mult |div
mult = mult-div spaces? <'*'> spaces? factor
(def lang0-parser
(instaparse.core/parser
"prog = (spaces? expr spaces? <';'> spaces?)*
<expr> = assig | add-sub
assig = varname spaces? <'='> spaces? expr
<add-sub> = mult-div | add | sub
add = add-sub spaces? <'+'> spaces? mult-div
sub = add-sub spaces? <'-'> spaces? mult-div
<mult-div> = factor | mult |div
mult = mult-div spaces? <'*'> spaces? factor
(def arith-parser
(instaparse.core/parser
"prog = spaces? add-sub spaces?
<add-sub> = mult-div | add | sub
add = add-sub spaces? <'+'> spaces? mult-div
sub = add-sub spaces? <'-'> spaces? mult-div
<mult-div> = term | mult | div
mult = mult-div spaces? <'*'> spaces? term
div = mult-div spaces? <'/'> spaces? term
<term> = number | <'('> add-sub <')'>
(def addmult-parser
(instaparse.core/parser
"prog= spaces? add-sub spaces?
<add-sub> = mult-div | add | sub
add= add-sub spaces? <'+'> spaces? mult-div
sub= add-sub spaces? <'-'> spaces? mult-div
<mult-div> = number | mult | div
mult= mult-div spaces? <'*'> spaces? number
div= mult-div spaces? <'/'> spaces? number
number= #'-?[0-9]+'
(def addsub-parser
(instaparse.core/parser
"prog= spaces? add-sub spaces?
<add-sub> = number | add | sub
add= add-sub spaces? <'+'> spaces? number
sub= add-sub spaces? <'-'> spaces? number
number= #'-?[0-9]+'
<spaces> = <#'\\s+'>"))
(def const-parser
(instaparse.core/parser
"prog= spaces? number spaces?
number=#'-?[0-9]+'
<spaces> = <#'[\\s]'+>"))
(const-parser " -123456 ")
public static void swap(int[] data, int i, int j){
int tmp= data[i];
data[i]= data[j];
data[j]= tmp;
}
public static int partition(int[] data, int begin, int end, int pivotIdx){
swap(data, pivotIdx, --end);
pivotIdx= end;
int pivot= data[pivotIdx];