Skip to content

Commit 3bd815d

Browse files
version 2
1 parent ff4d54e commit 3bd815d

File tree

184 files changed

+4394
-1286
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

184 files changed

+4394
-1286
lines changed

.gitignore

+2
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
.DS_Store
2+
Thumbs.db
11 KB
Binary file not shown.
19 Bytes
Binary file not shown.
19 Bytes
Binary file not shown.
19 Bytes
Binary file not shown.
-154 Bytes
Binary file not shown.
0 Bytes
Binary file not shown.
0 Bytes
Binary file not shown.
0 Bytes
Binary file not shown.
0 Bytes
Binary file not shown.
0 Bytes
Binary file not shown.
19 Bytes
Binary file not shown.
2.05 KB
Binary file not shown.
1.91 KB
Binary file not shown.
1.57 KB
Binary file not shown.
1.6 KB
Binary file not shown.
5.59 KB
Binary file not shown.
6.38 KB
Binary file not shown.
2.22 KB
Binary file not shown.
Binary file not shown.
221 Bytes
Binary file not shown.
221 Bytes
Binary file not shown.
221 Bytes
Binary file not shown.
221 Bytes
Binary file not shown.
221 Bytes
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
168 Bytes
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
-70 Bytes
Binary file not shown.
206 Bytes
Binary file not shown.
6.64 KB
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
752 Bytes
Binary file not shown.
Binary file not shown.
Binary file not shown.
15.5 KB
Binary file not shown.
746 Bytes
Binary file not shown.
3.53 KB
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
-972 Bytes
Binary file not shown.
-1.39 KB
Binary file not shown.
-9 Bytes
Binary file not shown.
-65 Bytes
Binary file not shown.
-23 Bytes
Binary file not shown.
-65 Bytes
Binary file not shown.
1.11 KB
Binary file not shown.
2.61 KB
Binary file not shown.
2.82 KB
Binary file not shown.
2.94 KB
Binary file not shown.
-37 Bytes
Binary file not shown.
-23 Bytes
Binary file not shown.
-37 Bytes
Binary file not shown.
-23 Bytes
Binary file not shown.
-23 Bytes
Binary file not shown.
-51 Bytes
Binary file not shown.
-65 Bytes
Binary file not shown.
-65 Bytes
Binary file not shown.
2.95 KB
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
-1.12 KB
Binary file not shown.
Binary file not shown.
3.06 KB
Binary file not shown.
Binary file not shown.
0 Bytes
Binary file not shown.
57 Bytes
Binary file not shown.
-318 Bytes
Binary file not shown.
-656 Bytes
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
120 Bytes
Binary file not shown.
19 Bytes
Binary file not shown.
19 Bytes
Binary file not shown.
-37 Bytes
Binary file not shown.
1.16 KB
Binary file not shown.
-500 Bytes
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
7.97 KB
Binary file not shown.
Binary file not shown.
Binary file not shown.
2.71 KB
Binary file not shown.
1.17 KB
Binary file not shown.
11.9 KB
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.

mfp.jar

484 KB
Binary file not shown.

midifileperformer.jar

-373 KB
Binary file not shown.
+250
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,250 @@
1+
package fr.inria.midifileperformer;
2+
3+
import java.math.BigInteger;
4+
import java.util.Vector;
5+
import java.util.function.Function;
6+
7+
import fr.inria.bps.base.Mains;
8+
import fr.inria.bps.base.Vecteur;
9+
10+
public class Article {
11+
12+
public static void main(String[] args) {
13+
Article me = new Article();
14+
Mains.launch(me, args, 0);
15+
}
16+
17+
/*
18+
* Entries
19+
*/
20+
public void see() {
21+
System.out.println("nb etirement "+etire(scherzo(), 0));
22+
//System.out.println("nb etirement article "+aetire(scherzo()));
23+
}
24+
25+
public void seeArpegeEtire(int size) {
26+
for(int i=0; i<size; i++) {
27+
Vector<Vector<String>> p = arpege(i);
28+
System.out.println(p + " -> " + etire(p, 0));
29+
System.out.println(p + " a-> " + aetire(p));
30+
}
31+
}
32+
33+
34+
public void seeArpege(int size) {
35+
seeTeX(size, 2*size-1, i -> arpege(i));
36+
}
37+
38+
public void seeChord(int size) {
39+
seeTeX(size, size+1, i -> accord(i));
40+
}
41+
42+
void seeTeX(int size, int max, Function<Integer,Vector<Vector<String>>> f) {
43+
String rs = "";
44+
for(int i=0; i<max; i++) rs+="r";
45+
System.out.println("\\begin{tabular}{r | " + rs + " | r}");
46+
System.out.println(header(max));
47+
System.out.println("\\hline");
48+
for(int i=0; i<size; i++) {
49+
Vector<Vector<String>> a = f.apply(i);
50+
Vector<Integer> v = pe(a, 0);
51+
System.out.println(i+" "+texLine(v, max));
52+
}
53+
System.out.println("\\hline");
54+
System.out.println("\\end{tabular}");
55+
}
56+
57+
public void pescherzo() {
58+
Vector<BigInteger> r = Bpe(scherzo(), 0);
59+
System.out.println(Bsum(r));
60+
}
61+
62+
public void chk() {
63+
Vector<BigInteger> r = Bpe(accord(5), 0);
64+
System.out.println(r);
65+
System.out.println(Bsum(r));
66+
}
67+
68+
String header(int max) {
69+
String r = "";
70+
for(int i=0; i<max; i++) r+=i+" & ";
71+
return("size & "+r+" \\Sigma \\\\");
72+
}
73+
74+
String texLine(Vector<Integer> v, int max) {
75+
String r = "";
76+
for(int i=0; i<v.size(); i++)
77+
r += v.get(i) + " & ";
78+
for(int i=v.size(); i<max; i++)
79+
r += "0 & ";
80+
r += sum(v) + " \\\\";
81+
return(r);
82+
}
83+
84+
/*
85+
* Lib
86+
*/
87+
int sum(Vector<Integer> v) {
88+
int r = 0;
89+
for( int x : v ) r+=x;
90+
return(r);
91+
}
92+
93+
BigInteger Bsum(Vector<BigInteger> v) {
94+
BigInteger r = BigInteger.ZERO;
95+
for( BigInteger x : v ) r = r.add(x);
96+
return(r);
97+
}
98+
99+
int etire(Vector<Vector<String>> p, int i) {
100+
if(i == p.size()) return(1);
101+
return(etire(p, i+1) * pow(2*(p.size()-i), p.get(i).size()));
102+
}
103+
104+
int aetire(Vector<Vector<String>> p) {
105+
int n = p.size();
106+
int r = 1;
107+
for(int i=1; i<=n; i++) {
108+
r *= pow(2*(n-i+1), p.get(i-1).size());
109+
}
110+
return(r);
111+
}
112+
113+
int pow(int x, int n) {
114+
if(n == 0) return(1);
115+
return(x*pow(x, n-1));
116+
}
117+
118+
Vector<BigInteger> Bpe(Vector<Vector<String>> p, int i) {
119+
if(i == p.size()) return(Vecteur.convert(BigInteger.ONE));
120+
Vector<BigInteger> r = Bpe(p, i+1);
121+
return(Bpel(r, p.get(i).size()));
122+
}
123+
124+
Vector<BigInteger> Bpel(Vector<BigInteger> done, int n) {
125+
if(n == 0) return(done);
126+
done = BpelPush(done);
127+
for(int i=1; i<n; i++) done = BpelInsert(done);
128+
//System.out.println("PEL "+done);
129+
return(done);
130+
}
131+
132+
Vector<BigInteger> BpelInsert(Vector<BigInteger> done) {
133+
int n = done.size();
134+
Vector<BigInteger> r = new Vector<BigInteger>(n+1);
135+
r.add(BigInteger.ZERO);
136+
BigInteger bi = BigInteger.ONE;
137+
for(int i=1; i<n; i++) {
138+
BigInteger x = done.get(i).multiply(bi);
139+
BigInteger y = done.get(i-1).multiply(bi.subtract(BigInteger.ONE));
140+
//r.add((i-1)*done.get(i-1)+i*done.get(i));
141+
r.add(x.add(y));
142+
bi = bi.add(BigInteger.ONE);
143+
}
144+
BigInteger mm = done.get(n-1).multiply(bi.subtract(BigInteger.ONE));
145+
//r.add((n-1)*done.get(n-1));
146+
r.add(mm);
147+
//System.out.println("PELin "+r);
148+
return(r);
149+
}
150+
151+
Vector<BigInteger> BpelPush(Vector<BigInteger> done) {
152+
int n = done.size();
153+
Vector<BigInteger> r = new Vector<BigInteger>(n+2);
154+
r.add(BigInteger.ZERO);
155+
r.add(done.get(0));
156+
BigInteger pbi = BigInteger.ONE;
157+
BigInteger bi = pbi.add(BigInteger.ONE);
158+
for(int i=2; i<n+1; i++) {
159+
r.add(pbi.multiply(done.get(i-2).add(bi.multiply(done.get(i-1)))));
160+
//r.add((i-1)*done.get(i-2)+i*done.get(i-1));
161+
pbi = bi;
162+
bi = pbi.add(BigInteger.ONE);
163+
}
164+
//r.add(n*done.get(n-1));
165+
r.add(pbi.multiply(done.get(n-1)));
166+
//System.out.println("PELpush "+r);
167+
return(r);
168+
}
169+
170+
Vector<Integer> pe(Vector<Vector<String>> p, int i) {
171+
if(i == p.size()) return(Vecteur.convert(1));
172+
Vector<Integer> r = pe(p, i+1);
173+
return(pel(r, p.get(i).size()));
174+
}
175+
176+
Vector<Integer> pel(Vector<Integer> done, int n) {
177+
if(n == 0) return(done);
178+
done = pelPush(done);
179+
for(int i=1; i<n; i++) done = pelInsert(done);
180+
//System.out.println("PEL "+done);
181+
return(done);
182+
}
183+
184+
Vector<Integer> pelInsert(Vector<Integer> done) {
185+
int n = done.size();
186+
Vector<Integer> r = new Vector<Integer>(n+1);
187+
r.add(0);
188+
for(int i=1; i<n; i++)
189+
r.add((i-1)*done.get(i-1)+i*done.get(i));
190+
r.add((n-1)*done.get(n-1));
191+
//System.out.println("PELin "+r);
192+
return(r);
193+
}
194+
195+
Vector<Integer> pelPush(Vector<Integer> done) {
196+
int n = done.size();
197+
Vector<Integer> r = new Vector<Integer>(n+2);
198+
r.add(0);
199+
r.add(done.get(0));
200+
for(int i=2; i<n+1; i++)
201+
r.add((i-1)*done.get(i-2)+i*done.get(i-1));
202+
r.add(n*done.get(n-1));
203+
//System.out.println("PELpush "+r);
204+
return(r);
205+
}
206+
207+
Vector<Vector<String>> accord(int n) {
208+
Vector<String> a = new Vector<String>(n);
209+
for(int i=0; i<n; i++) a.add(""+i);
210+
return(Vecteur.sing(a));
211+
}
212+
213+
Vector<Vector<String>> arpege(int n) {
214+
Vector<Vector<String>> r = new Vector<Vector<String>>(n);
215+
for(int i=0; i<n; i++) r.add(Vecteur.sing(""+i));
216+
return(r);
217+
}
218+
219+
Vector<Vector<String>> scherzo() {
220+
return(Vecteur.convert(
221+
Vecteur.convert("a4"),
222+
Vecteur.convert("b4"),
223+
Vecteur.convert("f4", "a4", "c5"),
224+
Vecteur.convert("d5"),
225+
Vecteur.convert("e4", "g4", "e5"),
226+
Vecteur.convert("g3", "b4"),
227+
Vecteur.convert("a3", "c5"),
228+
Vecteur.convert("f3", "a4", "f5"),
229+
Vecteur.convert("b3", "a4", "d5"),
230+
Vecteur.convert("e3", "g4", "e5")
231+
));
232+
}
233+
234+
public Vector<Vector<String>> ascherzo() {
235+
return(Vecteur.convert(
236+
Vecteur.convert("a"),
237+
Vecteur.convert("b"),
238+
Vecteur.convert("c", "d", "e"),
239+
Vecteur.convert("f"),
240+
Vecteur.convert("g", "h", "i"),
241+
Vecteur.convert("j", "k"),
242+
Vecteur.convert("l", "m"),
243+
Vecteur.convert("n", "o", "p"),
244+
Vecteur.convert("q", "r", "s"),
245+
Vecteur.convert("t", "u", "v")
246+
));
247+
}
248+
249+
250+
}

src/fr/inria/midifileperformer/Check.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,14 @@
22

33
import java.util.Vector;
44

5+
import fr.inria.bps.base.Event;
56
import fr.inria.fun.Fun0;
67
import fr.inria.fun.Fun1;
78
import fr.inria.fun.Fun2;
89
import fr.inria.fun.Fun3;
910
import fr.inria.midifileperformer.core.C;
1011
import fr.inria.midifileperformer.core.Consumer;
1112
import fr.inria.midifileperformer.core.EndOfStream;
12-
import fr.inria.midifileperformer.core.Event;
1313
import fr.inria.midifileperformer.core.Peek;
1414
import fr.inria.midifileperformer.impl.StringInterval;
1515

0 commit comments

Comments
 (0)