From a829464b1939b2908e69c68d09c0d0ebdc7b3ba6 Mon Sep 17 00:00:00 2001 From: "Mirar (Pontus Hagland)" <pike@sort.mirar.org> Date: Sat, 28 Feb 1998 20:56:42 +0100 Subject: [PATCH] permute added Rev: lib/modules/Array.pmod:1.17 Rev: lib/modules/Calendar.pmod/Swedish.pmod:1.11 --- lib/modules/Array.pmod | 17 +++++++++++++++++ lib/modules/Calendar.pmod/Swedish.pmod | 12 ++++-------- 2 files changed, 21 insertions(+), 8 deletions(-) diff --git a/lib/modules/Array.pmod b/lib/modules/Array.pmod index 37248e3bd9..874950c843 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 97cc47fa3e..4e7e8bfcb4 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() { -- GitLab