Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.os.linux.advocacy > #383503
| From | Melzzzzz <mel@zzzzz.com> |
|---|---|
| Newsgroups | comp.os.linux.advocacy |
| Subject | Re: Where are you, sdb? I have something fun for your little morons to try |
| Date | 2016-12-10 00:33 +0100 |
| Organization | albasani.net |
| Message-ID | <20161210003352.7436a0f1@maxa-pc> (permalink) |
| References | <o29gns$89o$2@dont-email.me> <20161209033817.6653501a@maxa-pc> <hgdos9893.g@rooftop.invalid> |
On Fri, 9 Dec 2016 19:00:26 +0000 (UTC)
deplorable owl <owl@rooftop.invalid> wrote:
> Melzzzzz <mel@zzzzz.com> wrote:
> > On Wed, 7 Dec 2016 12:27:40 -0500
> > DFS <nospam@dfs.com> wrote:
> >
> >> Get the min and max from a list of dates formatted like this:
> >>
> >> 10-Mar-1998
> >> 20-Aug-1997
> >> 06-Sep-2009
> >> 23-Jan-2010
> >> 05-Nov-2010
> >> 03-Sep-2009
> >> 07-Nov-2014
> >> 08-Mar-2013
> >>
> >>
> ...
> >>
> >>
> >> Bring those little idiots on! If they can code circles around me,
> >> they can replicate that functionality in another language, in
> >> approx the same # of lines, using only builtin data structures.
> > Golang:
> > It would be lot less involving if you used one of standard date
> > formats.
> >
> > [bmaxa@maxa-pc hello]$ ./date_sort
> > 20-08-1997
> > 10-03-1998
> > 03-09-2009
> > 06-09-2009
> > 23-01-2010
> > 05-11-2010
> > 08-03-2013
> > 07-11-2014
> >
> > [bmaxa@maxa-pc hello]$ cat date_sort.go
> > package main
> >
> > import (
> > "fmt"
> ...
> >
> >
>
> Times for bash, python, go, and C:
>
> anon@lowtide:~/code/dfsdates$ time . blah
> 20-Aug-1997
> 07-Nov-2014
>
> real 0m0.042s
> user 0m0.000s
> sys 0m0.008s
> anon@lowtide:~/code/dfsdates$ time python getminmax.py
> 20-Aug-1997
> 07-Nov-2014
>
> real 0m0.031s
> user 0m0.020s
> sys 0m0.008s
> anon@lowtide:~/code/dfsdates$ time ./date_sort
> 20-08-1997
> 10-03-1998
> 03-09-2009
> 06-09-2009
> 23-01-2010
> 05-11-2010
> 08-03-2013
> 07-11-2014
>
>
> real 0m0.003s
> user 0m0.000s
> sys 0m0.000s
> anon@lowtide:~/code/dfsdates$ time ./flah
> 20-Aug-1997
> 07-Nov-2014
>
> real 0m0.001s
> user 0m0.000s
> sys 0m0.004s
> anon@lowtide:~/code/dfsdates$
>
> flah.c:
> ---------------------------------------
> #include <stdio.h>
> #define __USE_XOPEN
> #include <time.h>
> #include <string.h>
> #include <stdlib.h>
>
> struct mdy {
> int d;
> int m;
> int y;
> };
>
> long getints(struct mdy *, char *);
> int compar(const void *,const void *);
>
> int main(int argc, char *argv[])
> {
> char * dates[] = {
> "10-Mar-1998",
> "20-Aug-1997",
> "06-Sep-2009",
> "23-Jan-2010",
> "05-Nov-2010",
> "03-Sep-2009",
> "07-Nov-2014",
> "08-Mar-2013"
> };
>
> int datecount=sizeof(dates)/sizeof(dates[0]);
> time_t seconds=0;
> struct tm mytm={0};
> struct mdy mymdy={0};
> long mylongs[datecount];
> long i=0;
> char buf[100]={0};
>
> for(i=0;i<datecount;i++)
> {
> getints(&mymdy,dates[i]);
>
> mytm.tm_mday=mymdy.d;
> mytm.tm_mon=mymdy.m;
> mytm.tm_year=mymdy.y-1900;
>
> seconds=mktime(&mytm);
> mylongs[i]=(long)seconds;
> }
>
> qsort(mylongs,datecount,sizeof(long),compar);
>
> strftime(buf,sizeof buf,"%d-%b-%Y",
> localtime((time_t *)&mylongs[0]));
> printf("%s\n",buf);
> strftime(buf,sizeof buf,"%d-%b-%Y",
> localtime((time_t *)&mylongs[datecount-1]));
> printf("%s\n",buf);
>
> return 0;
> }
>
> long getints(struct mdy *themdy, char *str)
> {
> char *months[]={"Jan","Feb","Mar","Apr","May","Jun",
> "Jul","Aug","Sep","Oct","Nov","Dec"};
> char *token;
> char *delim="-";
> int i=0;
> int j=0;
> char arr[12]={0};
> strcpy(arr,str);
> token=strtok(arr,delim);
> themdy->d=atoi(token);
> while(token!=NULL)
> {
> i++;
> token=strtok(NULL,delim);
> if(i==1)
> {
> for(j=0;j<12;j++)
> {
> if( !strcmp(token,months[j]) )
> {
> themdy->m=j;
> }
> }
> }
> if(i==2)
> {
> themdy->y=atoi(token);
> }
> }
> return 0;
> }
>
> int compar(const void *a,const void *b)
> {
> return ( *(long *)a -*(long *)b );
> }
> ---------------------------------------
Try to generate then sort ;p
[bmaxa@maxa-pc hello]$ time ./date_sort
93172 unique dates
03-Jan-0030
05-Jan-0030
11-Jan-0030
14-Jan-0030
16-Jan-0030
23-Jan-0030
28-Jan-0030
31-Jan-0030
07-Feb-0030
09-Feb-0030
25-Oct-2015
01-Nov-2015
05-Nov-2015
15-Nov-2015
22-Nov-2015
24-Nov-2015
01-Dec-2015
27-Dec-2015
28-Dec-2015
30-Dec-2015
real 0m0.344s
user 0m0.417s
sys 0m0.010s
[bmaxa@maxa-pc hello]$ cat date_sort.go
package main
import (
"fmt"
"math/rand"
"time"
"sort"
)
type MyTime []time.Time
func cvtToMonth (s string) time.Month {
mmap := map[string]int{
"Jan":1,
"Feb":2,
"Mar":3,
"Apr":4,
"May":5,
"Jun":6,
"Jul":7,
"Aug":8,
"Sep":9,
"Oct":10,
"Nov":11,
"Dec":12,
}
return time.Month(mmap[s])
}
func cvtFromMonth(in time.Month) string {
months := []string{"","Jan","Feb","Mar","Apr","May","Jun",
"Jul","Aug","Sep","Oct","Nov","Dec"}
return months[int(in)]
}
func main() {
rand.Seed(time.Now().Unix())
dates := GenDates(30,2015,100000)
cnvrtd := make(MyTime,0)
for k,_ := range dates {
var year,day int
var month string
fmt.Sscanf(k,"%2d-%3s-%4d",&day,&month,&year)
cnvrtd = append(cnvrtd,time.Date(year,cvtToMonth(month),day,0,0,0,0,time.UTC))
}
fmt.Printf("%d unique dates\n\n",len(dates))
sort.Sort(cnvrtd)
first10 := cnvrtd[:10]
last10 := cnvrtd[len(cnvrtd)-10:]
fmt.Println(first10)
fmt.Println(last10)
}
func (this MyTime) Less(i,j int) bool {
return this[i].Before(this[j])
}
func (this MyTime) Len()int {
return len(this)
}
func (this MyTime) Swap(i,j int) {
this[i],this[j] = this[j],this[i]
}
func (this MyTime) String() (rc string) {
for i := range this {
rc+=fmt.Sprintf("%02d-%3s-%04d\n",this[i].Day(),
cvtFromMonth(this[i].Month()),this[i].Year())
}
return
}
func random(min, max int) int {
return rand.Intn(max - min + 1) + min
}
func GenDates(minyear,maxyear,count int) map[string]int {
rc := make(map[string]int,0)
for i := 0;i<count;i++ {
r := time.Date(random(minyear,maxyear),time.Month(random(1,12)),random(1,31),
0,0,0,0,time.UTC)
rc [fmt.Sprintf("%2d-%3s-%4d",r.Day(),
cvtFromMonth(r.Month()),r.Year())]++
}
return rc
}
--
press any key to continue or any other to quit
Back to comp.os.linux.advocacy | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
Where are you, sdb? I have something fun for your little morons to try DFS <nospam@dfs.com> - 2016-12-07 12:27 -0500
Re: Where are you, sdb? I have something fun for your little morons to try deplorable owl <owl@rooftop.invalid> - 2016-12-07 19:52 +0000
Re: Where are you, sdb? I have something fun for your little morons to try DFS <nospam@dfs.com> - 2016-12-07 21:28 -0500
Re: Where are you, sdb? I have something fun for your little morons to try deplorable owl <owl@rooftop.invalid> - 2016-12-08 05:52 +0000
Re: Where are you, sdb? I have something fun for your little morons to try chrisv <chrisv@nospam.invalid> - 2016-12-08 07:02 -0600
Re: Where are you, sdb? I have something fun for your little morons to try DFS <nospam@dfs.com> - 2016-12-08 09:02 -0500
Re: Where are you, sdb? I have something fun for your little morons to try Adlbifhr Mjduhgfks <am@random.us> - 2016-12-08 00:32 +0000
Re: Where are you, sdb? I have something fun for your little morons to try DFS <nospam@dfs.com> - 2016-12-07 21:48 -0500
Re: Where are you, sdb? I have something fun for your little morons to try Adlbifhr Mjduhgfks <am@random.us> - 2016-12-08 14:17 +0000
Re: Where are you, sdb? I have something fun for your little morons to try DFS <nospam@dfs.com> - 2016-12-08 11:00 -0500
Re: Where are you, sdb? I have something fun for your little morons to try Steve Carroll <fretwizzer@gmail.com> - 2016-12-08 09:13 -0800
Re: Where are you, sdb? I have something fun for your little morons to try DFS <nospam@dfs.com> - 2016-12-08 18:41 -0500
Re: Where are you, sdb? I have something fun for your little morons to try Steve Carroll <fretwizzer@gmail.com> - 2016-12-08 17:32 -0800
Re: Where are you, sdb? I have something fun for your little morons to try DFS <nospam@dfs.com> - 2016-12-08 21:12 -0500
Cartoons are easier to read than the Wall Street Journal. Jeff-Relf.Me <@.> - 2016-12-08 20:16 -0800
Re: Where are you, sdb? I have something fun for your little morons to try Steve Carroll <fretwizzer@gmail.com> - 2016-12-09 09:03 -0800
Re: Where are you, sdb? I have something fun for your little morons to try Adlbifhr Mjduhgfks <am@random.us> - 2016-12-08 15:49 +0000
Re: Where are you, sdb? I have something fun for your little morons to try DFS <nospam@dfs.com> - 2016-12-08 11:00 -0500
Re: Where are you, sdb? I have something fun for your little morons to try Adlbifhr Mjduhgfks <am@random.us> - 2016-12-08 16:24 +0000
Re: Where are you, sdb? I have something fun for your little morons to try DFS <nospam@dfs.com> - 2016-12-08 18:43 -0500
Only _results_ matter; i.e.: What does it do ? Jeff-Relf.Me <@.> - 2016-12-08 19:45 -0800
Re: Only _results_ matter; i.e.: What does it do ? flatfish+++ <flatfish@linuxmail.org> - 2016-12-08 22:50 -0500
I don't need the source code. Jeff-Relf.Me <@.> - 2016-12-08 20:39 -0800
Re: I don't need the source code. flatfish+++ <flatfish@linuxmail.org> - 2016-12-08 23:48 -0500
I'm hard to copy, thank God. Jeff-Relf.Me <@.> - 2016-12-08 22:30 -0800
Re: I'm hard to copy, thank God. flatfish+++ <flatfish@linuxmail.org> - 2016-12-09 01:54 -0500
Re: I'm hard to copy, thank God. Steve Carroll <fretwizzer@gmail.com> - 2016-12-09 12:30 -0800
Re: I don't need the source code. Poutnik <poutnik4nntp@gmail.com> - 2016-12-09 07:12 +0100
Re: I don't need the source code. flatfish+++ <flatfish@linuxmail.org> - 2016-12-09 01:15 -0500
Re: I don't need the source code. Poutnik <poutnik4nntp@gmail.com> - 2016-12-09 07:27 +0100
Re: I don't need the source code. flatfish+++ <flatfish@linuxmail.org> - 2016-12-09 01:44 -0500
Usenet is not CraigsList nor WikiPedia, Reddit. Jeff-Relf.Me <@.> - 2016-12-08 23:00 -0800
Re: Usenet is not CraigsList nor WikiPedia, Reddit. flatfish+++ <flatfish@linuxmail.org> - 2016-12-09 02:12 -0500
If/When Cola is being honest, they don't think MicroSoft is "Evil". Jeff-Relf.Me <@.> - 2016-12-08 23:56 -0800
Re: Usenet is not CraigsList nor WikiPedia, Reddit. Poutnik <poutnik4nntp@gmail.com> - 2016-12-09 08:16 +0100
Usually, the __DEFAULT__ "Subject:" line isn't best. Jeff-Relf.Me <@.> - 2016-12-08 22:53 -0800
Re: Usually, the __DEFAULT__ "Subject:" line isn't best. Poutnik <poutnik4nntp@gmail.com> - 2016-12-09 08:19 +0100
Please lookup the word "Default". Jeff-Relf.Me <@.> - 2016-12-08 23:31 -0800
Re: Please lookup the word "Default". Poutnik <poutnik4nntp@gmail.com> - 2016-12-09 08:42 +0100
The parent post. -- Re: Please lookup the word "Default". Jeff-Relf.Me <@.> - 2016-12-09 00:12 -0800
Re: The parent post. -- Re: Please lookup the word "Default". Poutnik <poutnik4nntp@gmail.com> - 2016-12-09 11:28 +0100
Threads branch like a tree, SubTopics sprout. Jeff-Relf.Me <@.> - 2016-12-09 03:35 -0800
Re: Threads branch like a tree, SubTopics sprout. Poutnik <poutnik4nntp@gmail.com> - 2016-12-09 16:18 +0100
Re: The parent post. -- Re: Please lookup the word "Default". moroney@world.std.spaamtrap.com (Michael Moroney) - 2016-12-09 15:05 +0000
I want details, Michael Moroney. Jeff-Relf.Me <@.> - 2016-12-09 07:18 -0800
Re: I want details, Michael Moroney. Steve Carroll <fretwizzer@gmail.com> - 2016-12-09 10:38 -0800
Re: I want details, Michael Moroney. moroney@world.std.spaamtrap.com (Michael Moroney) - 2016-12-10 04:03 +0000
I never had to deal with such problems. Jeff-Relf.Me <@.> - 2016-12-09 21:15 -0800
Re: I never had to deal with such problems. moroney@world.std.spaamtrap.com (Michael Moroney) - 2016-12-11 01:50 +0000
Re: The parent post. -- Re: Please lookup the word "Default". chrisv <chrisv@nospam.invalid> - 2016-12-09 09:37 -0600
Re: The parent post. -- Re: Please lookup the word "Default". moroney@world.std.spaamtrap.com (Michael Moroney) - 2016-12-09 20:32 +0000
Re: I don't need the source code. chrisv <chrisv@nospam.invalid> - 2016-12-09 06:39 -0600
Re: I don't need the source code. Poutnik <poutnik4nntp@gmail.com> - 2016-12-09 16:19 +0100
Re: I don't need the source code. Silver Slimer <.m@nsn.s> - 2016-12-09 11:51 -0500
Re: I don't need the source code. flatfish+++ <flatfish@linuxmail.org> - 2016-12-09 12:07 -0500
Re: I don't need the source code. Silver Slimer <.m@nsn.s> - 2016-12-09 12:22 -0500
Re: I don't need the source code. flatfish+++ <flatfish@linuxmail.org> - 2016-12-09 12:28 -0500
Re: I don't need the source code. moroney@world.std.spaamtrap.com (Michael Moroney) - 2016-12-09 17:52 +0000
I only have time to read a few select authors, sorry. Jeff-Relf.Me <@.> - 2016-12-09 10:05 -0800
Re: I don't need the source code. chrisv <chrisv@nospam.invalid> - 2016-12-09 12:26 -0600
Re: I don't need the source code. Silver Slimer <.m@nsn.s> - 2016-12-09 14:06 -0500
Re: I don't need the source code. Chris Ahlstrom <OFeem1987@teleworm.us> - 2016-12-09 19:56 -0500
Re: I don't need the source code. Silver Slimer <.m@nsn.s> - 2016-12-10 09:23 -0500
Re: Only _results_ matter; i.e.: What does it do ? fr314159@gmail.com - 2016-12-09 07:17 -0800
Re: Only _results_ matter; i.e.: What does it do ? DFS <nospam@dfs.com> - 2016-12-12 18:54 -0500
Re: Where are you, sdb? I have something fun for your little morons to try DFS <nospam@dfs.com> - 2016-12-12 18:39 -0500
Re: Where are you, sdb? I have something fun for your little morons to try Melzzzzz <mel@zzzzz.com> - 2016-12-09 03:38 +0100
Re: Where are you, sdb? I have something fun for your little morons to try deplorable owl <owl@rooftop.invalid> - 2016-12-09 19:00 +0000
Re: Where are you, sdb? I have something fun for your little morons to try Melzzzzz <mel@zzzzz.com> - 2016-12-10 00:33 +0100
Re: Where are you, sdb? I have something fun for your little morons to try deplorable owl <owl@rooftop.invalid> - 2016-12-10 05:24 +0000
Re: Where are you, sdb? I have something fun for your little morons to try Melzzzzz <Melzzzzz@zzzzz.com> - 2016-12-10 06:54 +0100
Re: Where are you, sdb? I have something fun for your little morons to try deplorable owl <owl@rooftop.invalid> - 2016-12-10 06:25 +0000
Re: Where are you, sdb? I have something fun for your little morons to try Melzzzzz <Melzzzzz@zzzzz.com> - 2016-12-10 07:28 +0100
Re: Where are you, sdb? I have something fun for your little morons to try deplorable owl <owl@rooftop.invalid> - 2016-12-10 19:56 +0000
Re: Where are you, sdb? I have something fun for your little morons to try DFS <nospam@dfs.com> - 2016-12-10 15:19 -0500
Re: Where are you, sdb? I have something fun for your little morons to try DFS <nospam@dfs.com> - 2016-12-10 15:23 -0500
Re: Where are you, sdb? I have something fun for your little morons to try deplorable owl <owl@rooftop.invalid> - 2016-12-10 20:44 +0000
Re: Where are you, sdb? I have something fun for your little morons to try DFS <nospam@dfs.com> - 2016-12-10 17:55 -0500
Re: Where are you, sdb? I have something fun for your little morons to try deplorable owl <owl@rooftop.invalid> - 2016-12-11 00:02 +0000
Re: Where are you, sdb? I have something fun for your little morons to try DFS <nospam@dfs.com> - 2016-12-10 19:39 -0500
C/CPP's "srand( int Seed )" generates an array of (PseudoRandom) int's. Jeff-Relf.Me <@.> - 2016-12-10 23:09 -0800
Re: C/CPP's "srand( int Seed )" generates an array of (PseudoRandom) int's. deplorable owl <owl@rooftop.invalid> - 2016-12-11 07:23 +0000
Re: Where are you, sdb? I have something fun for your little morons to try DFS <nospam@dfs.com> - 2016-12-10 19:56 -0500
Re: Where are you, sdb? I have something fun for your little morons to try DFS <nospam@dfs.com> - 2016-12-10 20:07 -0500
Re: Where are you, sdb? I have something fun for your little morons to try deplorable owl <owl@rooftop.invalid> - 2016-12-11 04:07 +0000
Re: Where are you, sdb? I have something fun for your little morons to try DFS <nospam@dfs.com> - 2016-12-11 00:18 -0500
Re: Where are you, sdb? I have something fun for your little morons to try Melzzzzz <mel@zzzzz.com> - 2016-12-11 03:40 +0100
Re: Where are you, sdb? I have something fun for your little morons to try deplorable owl <owl@rooftop.invalid> - 2016-12-11 04:00 +0000
Re: Where are you, sdb? I have something fun for your little morons to try Melzzzzz <Melzzzzz@zzzzz.com> - 2016-12-11 05:08 +0100
Re: Where are you, sdb? I have something fun for your little morons to try deplorable owl <owl@rooftop.invalid> - 2016-12-11 04:27 +0000
Re: Where are you, sdb? I have something fun for your little morons to try Melzzzzz <Melzzzzz@zzzzz.com> - 2016-12-11 05:58 +0100
Re: Where are you, sdb? I have something fun for your little morons to try deplorable owl <owl@rooftop.invalid> - 2016-12-11 05:55 +0000
Re: Where are you, sdb? I have something fun for your little morons to try Melzzzzz <Melzzzzz@zzzzz.com> - 2016-12-11 07:11 +0100
Re: Where are you, sdb? I have something fun for your little morons to try deplorable owl <owl@rooftop.invalid> - 2016-12-11 06:49 +0000
Re: Where are you, sdb? I have something fun for your little morons to try Melzzzzz <mel@zzzzz.com> - 2016-12-11 07:52 +0100
Re: Where are you, sdb? I have something fun for your little morons to try deplorable owl <owl@rooftop.invalid> - 2016-12-11 07:09 +0000
Re: Where are you, sdb? I have something fun for your little morons to try Melzzzzz <Melzzzzz@zzzzz.com> - 2016-12-11 08:23 +0100
Re: Where are you, sdb? I have something fun for your little morons to try deplorable owl <owl@rooftop.invalid> - 2016-12-11 07:37 +0000
Re: Where are you, sdb? I have something fun for your little morons to try Melzzzzz <Melzzzzz@zzzzz.com> - 2016-12-11 08:40 +0100
Re: Where are you, sdb? I have something fun for your little morons to try deplorable owl <owl@rooftop.invalid> - 2016-12-11 09:05 +0000
Re: Where are you, sdb? I have something fun for your little morons to try deplorable owl <owl@rooftop.invalid> - 2016-12-10 19:41 +0000
Re: Where are you, sdb? I have something fun for your little morons to try Melzzzzz <mel@zzzzz.com> - 2016-12-10 20:48 +0100
Re: Where are you, sdb? I have something fun for your little morons to try deplorable owl <owl@rooftop.invalid> - 2016-12-10 20:06 +0000
Re: Where are you, sdb? I have something fun for your little morons to try DFS <nospam@dfs.com> - 2016-12-10 10:32 -0500
Re: Where are you, sdb? I have something fun for your little morons to try Melzzzzz <mel@zzzzz.com> - 2016-12-10 16:40 +0100
Re: Where are you, sdb? I have something fun for your little morons to try DFS <nospam@dfs.com> - 2016-12-10 11:03 -0500
Re: Where are you, sdb? I have something fun for your little morons to try Steve Carroll <fretwizzer@gmail.com> - 2016-12-10 09:26 -0800
Re: Where are you, sdb? I have something fun for your little morons to try DFS <nospam@dfs.com> - 2016-12-10 12:38 -0500
Re: Where are you, sdb? I have something fun for your little morons to try Steve Carroll <fretwizzer@gmail.com> - 2016-12-10 09:52 -0800
Re: Where are you, sdb? I have something fun for your little morons to try DFS <nospam@dfs.com> - 2016-12-10 13:01 -0500
Re: Where are you, sdb? I have something fun for your little morons to try Steve Carroll <fretwizzer@gmail.com> - 2016-12-10 10:06 -0800
Re: Where are you, sdb? I have something fun for your little morons to try deplorable owl <owl@rooftop.invalid> - 2016-12-10 19:38 +0000
Re: Where are you, sdb? I have something fun for your little morons to try DFS <nospam@dfs.com> - 2016-12-10 19:55 -0500
Re: Where are you, sdb? I have something fun for your little morons to try deplorable owl <owl@rooftop.invalid> - 2016-12-10 19:33 +0000
Re: Where are you, sdb? I have something fun for your little morons to try deplorable owl <owl@rooftop.invalid> - 2016-12-10 20:00 +0000
csiph-web