Skip to content

Instantly share code, notes, and snippets.

@zeptometer
zeptometer / alias-package.lisp
Created December 25, 2012 14:49
clojure-like nickname system in Common Lisp
(defpackage alias-package
(:use :common-lisp)
(:export :import-as
:init-readtable
:register-nickname))
(in-package :alias-package)
(defparameter *prev-readtable* (copy-readtable nil))
;;; global settings
;; keybind
(global-set-key "\C-h" 'delete-backward-char)
(global-set-key "\M-N" '(lambda () (interactive) (scroll-up 1)))
(global-set-key "\M-P" '(lambda () (interactive) (scroll-down 1)))
;; scrolling
(setq mouse-wheel-scroll-amount '(1 ((shift) . 1)))
(setq mouse-wheel-progressive-speed t)
(setq mouse-wheel-follow-mouse t)
@zeptometer
zeptometer / aoj1001.rb
Created September 24, 2012 10:02
AOJ 1001
class Node
attr_reader :left, :right
def initialize(left,right)
@left = left
@right = right
end
def to_s
"(#{@left||""},#{@right||""})"
end
end
@zeptometer
zeptometer / gist:3719669
Created September 14, 2012 03:45
幾何ライブラリ
#include <complex>
using namespace std;
typedef complex<double> P;
// 許容する誤差ε
#define EPS (1e-10)
// 2つのスカラーが等しいかどうか
#define EQ(a,b) (abs((a)-(b)) < EPS)
// 2つのベクトルが等しいかどうか
#!/bin/sh
# A simple script to facilitate the use of the OSS compatibility library.
# Usage:
# aoss <command> <command options and arguments>
if [ -d /proc/asound ]; then
prefix=/usr
libdir=${prefix}/lib32/
LD_PRELOAD=${libdir}/libaoss.so${LD_PRELOAD:+:$LD_PRELOAD} exec "$@"
//15*15のorigamiによるシミュレーション
a = [1,1,1,1,1,1]; //aのスポットは6個
b = [0,0,0,0,0,0,0]; //bのスポットは7個
k1=1;k2=1;kd=0.1; //平衡定数
y0=[3;2.9;0;0]; //各成分の初期値
deff("ydot=f(x,y)",..
"ydot=[y(1)*(k1/(1+y(1)+2*y(3))-kd);y(2)*(k1/(1+y(2)+2*y(4))-kd);..
a = [1,1,1,1,1,1]; //aのスポットは6個
b = [0,0,0,0,0,0,0]; //bのスポットは7個
k1=1;k2=1;kd=0.1; //平衡定数
y0=[3;2.9;0;0]; //各成分の初期値
deff("ydot=f(x,y)",..
"ydot=[y(1)*(k1/​(1+y(1)+2*y(3))-kd);y(2)*(k​1/(1+y(2)+2*y(4))-kd);..
y(2)*k2/​(1+y(2))-y(3)*kd;y(1)*k2/​(1+y(1))-y(4)*kd]");
Inc0=[0,15,0,0]';
/* Compiler: ECL 12.7.1 */
/* Date: 2012/8/14 15:31 (yyyy/mm/dd) */
/* Machine: NT 5.0 x86 */
/* Source: e:/Documents/emacs-home/lisp/.quicklisp/dists/quicklisp/software/ieee-floats-20101006-darcs/ieee-floats.lisp */
#include <ecl/ecl-cmp.h>
#include "E:/Documents/emacs-home/ieee-floats.h"
/* local function MAKE-FLOAT-CONVERTERS */
/* optimize speed 3, debug 0, space 0, safety 2 */
static cl_object LC1make_float_converters(cl_object V1, cl_object V2)
{ VT2 VLEX2 CLSR2 STCK2
@zeptometer
zeptometer / gist:3346825
Created August 14, 2012 06:14
error code when compiling ieee-floats on ecl/vc++
> (ql:quickload :ieee-floats)
To load "ieee-floats":
Load 1 ASDF system:
ieee-floats; Loading "ieee-floats"
[package ieee-floats]ASDF-TMP-ieee-floats.c
eB857tmp.c
ライブラリ C:/Users/zeptometer/AppData/Local/common-lisp/cache/ecl-12.7.1-b3f
bf511-win-x86/E/Documents/emacs-home/lisp/.quicklisp/dists/quicklisp/software/ie
ee-floats-20101006-darcs/ieee-floats.implib とオブジェクト C:/Users/zeptometer/A
ppData/Local/common-lisp/cache/ecl-12.7.1-b3fbf511-win-x86/E/Documents/emacs-hom
#include <cstdio>
#include <queue>
#define MAX 100001
using namespace std;
int mark[MAX],t[MAX];
int query(int v){
if(mark[v]) return v;