diff --git a/lib/modules/Array.pmod b/lib/modules/Array.pmod index 37248e3bd9cb6c84bd69a3ae4342f61209ff3ed6..874950c843f1bc6a07e7961ca22bf1cb2d4c531a 100644 --- a/lib/modules/Array.pmod +++ b/lib/modules/Array.pmod @@ -74,6 +74,23 @@ array shuffle(array arr) return(arr); } +array permute(array a,int n) +{ + int q=sizeof(a); + int i; + a=a[..]; // copy + + while (n && q) + { + int x=n%q; + n/=q; + q--; + if (x) [a[i],a[i+x]]=({ a[i+x],a[i] }); + i++; + } + + return a; +} int search_array(mixed *arr, mixed fun, mixed ... args) { diff --git a/lib/modules/Calendar.pmod/Swedish.pmod b/lib/modules/Calendar.pmod/Swedish.pmod index 97cc47fa3e8d62d09bcb0e4a63b786fa89d09189..4e7e8bfcb4e9440ab8a98abce7bd8d5ad0d19097 100644 --- a/lib/modules/Calendar.pmod/Swedish.pmod +++ b/lib/modules/Calendar.pmod/Swedish.pmod @@ -1,4 +1,4 @@ -inherit Calendar.ISO; +inherit Calendar.ISO:ISO; void create() { @@ -11,13 +11,9 @@ void create() "fredag","lördag","söndag"}); } -constant ISO_Week=::Week; -constant ISO_Year=::Year; -constant ISO_Day=::Day; - class Week { - inherit ISO_Week; + inherit ISO::Week; string name() { @@ -27,7 +23,7 @@ class Week class Year { - inherit ISO_Year; + inherit ISO::Year; array(array(string)) _namedays; mapping(string:int) _nameday_lookup; @@ -88,7 +84,7 @@ class Year class Day { - inherit ISO_Day; + inherit ISO::Day; array(string) names() {