Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.c > #62941

Re: Column slices

Newsgroups comp.lang.c
Date 2015-06-02 00:22 -0700
References (4 earlier) <a063bfe3-3de5-4409-84c9-fc67b5601eaf@googlegroups.com> <6f80e574-39cf-4fde-85cc-874b9ebc4f6c@googlegroups.com> <ct2jrdFrf5eU2@mid.individual.net> <7beb4e90-e514-45e4-bee6-77211b33abe9@googlegroups.com> <jhiqmate7sgdnru0uanachmtqf0sttf092@4ax.com>
Message-ID <26bddb6b-08ee-46ca-bdd3-fa8d445a8737@googlegroups.com> (permalink)
Subject Re: Column slices
From luser droog <luser.droog@gmail.com>

Show all headers | View raw


On Tuesday, June 2, 2015 at 1:30:21 AM UTC-5, Rosario19 wrote:
> On Mon, 1 Jun 2015 18:04:07 -0700 (PDT), luser droog
> <luser.droog@gmail.com> wrote:
> 
> >On Monday, June 1, 2015 at 3:36:14 AM UTC-5, Ian Collins wrote:
> >> asetofsymbols@gmail.com wrote:
> >> > I wrote:"
> >> 
> >> More gobbledegook?
> >> 
> >
> >If you like gobbledegook, here's my code all golfed-
> >up and gook. There's even a little whitespace in there.
> >A very little.
> >
> >$ cat arrg.c
[snip]
> >#define DO(n,x){I i=0,N=(n);for(;i<N;++i){x;}}/*loop i=[0..n)*/
[snip]
> >
> >A sl(A a,I*s,I*f){ I r=0;
> >    DO(a->r, r+=s[i]!=f[i])
> >    I d[r]; I w[r]; I j=0;
> >    DO(r,   while(s[j]==f[j])++j;
> >            d[i]=1+(s[j]<f[j]? f[j]-s[j] : s[j]-f[j]);
> >            w[i]=   s[j]<f[j]? a->w[j]   : -a->w[j];
> >            ++j)
> 
> What DO the macro above?
> int  i;
> for(i=0; i<r; ++i)
>       {
>        while(s[j]==f[j])++j;
>        d[i]=1+(s[j]<f[j]? f[j]-s[j] : s[j]-f[j]);
>        w[i]=   s[j]<f[j]? a->w[j]   : -a->w[j];
>             ++j
> ^^^^^^^^^^^^^^^^^^^^^
>        here at last there is need ';'
>        no it is ok... in macro DO() the ';' is in the macro
>       }
> 
> what is sl?

It takes slices from the array, returning a subarray.

[snip]
> >int main(){
> >    A x=ar(3);
> >    *el(x,0)=5;
> >    *el(x,1)=6;
> >    *el(x,2)=7;
> >    dmp(x);
> >    pr(x,0);
> >
> >    A a=iot(24);
> >    dmp(a);
> >    pr(a,0);
> >    A b=ca(a->p,2,3,4);
> >    dmp(b);
> >    pr(b,0);
> >    A c=sl(b,(I[]){0,1,1},(I[]){0,2,3});
> >    pr(c,0);
> >    A d=xp(c,(I[]){1,0});
> >    pr(d,0);
> >    return 0;
> >}
> >
> 
> A new language?
> I agree if operations ca, xp, sl, dmp, pr have a full names

It's a prototype for using dope vectors to manipulate array data.
It's related to my programming language 'inca'. 
https://github.com/luser-dr00g/inca
But I'm not sure whether to incorporate this code into inca3.c
or start over and build on top of this.

There is a "readable" version here:
https://github.com/luser-dr00g/inca/blob/master/arrind.c
And an explanation on SO:
http://stackoverflow.com/questions/30409991/use-a-dope-vector-to-access-arbitrary-axial-slices-of-a-multidimensional-array

Back to comp.lang.c | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

Column slices luser droog <luser.droog@gmail.com> - 2015-05-05 23:18 -0700
  Column slices asetofsymbols@gmail.com - 2015-05-06 00:26 -0700
    Re: Column slices luser droog <luser.droog@gmail.com> - 2015-05-06 02:33 -0700
      Re: Column slices Bartc <bc@freeuk.com> - 2015-05-06 10:46 +0100
      Re: Column slices asetofsymbols@gmail.com - 2015-05-07 11:02 -0700
        Re: Column slices asetofsymbols@gmail.com - 2015-05-07 14:05 -0700
  Re: Column slices Nobody <nobody@nowhere.invalid> - 2015-05-06 08:29 +0100
  Re: Column slices Bartc <bc@freeuk.com> - 2015-05-06 10:30 +0100
    Re: Column slices luser droog <luser.droog@gmail.com> - 2015-05-06 03:11 -0700
      Re: Column slices asetofsymbols@gmail.com - 2015-05-08 09:05 -0700
  Re: Column slices luser droog <luser.droog@gmail.com> - 2015-05-11 16:50 -0700
    Re: Column slices asetofsymbols@gmail.com - 2015-05-11 17:24 -0700
      Re: Column slices asetofsymbols@gmail.com - 2015-05-11 19:01 -0700
        Re: Column slices luser droog <luser.droog@gmail.com> - 2015-05-19 09:56 -0700
          Re: Column slices asetofsymbols@gmail.com - 2015-05-19 10:43 -0700
            Re: Column slices asetofsymbols@gmail.com - 2015-05-19 11:16 -0700
              Re: Column slices asetofsymbols@gmail.com - 2015-05-19 11:27 -0700
              Re: Column slices luser droog <luser.droog@gmail.com> - 2015-05-19 21:28 -0700
                Re: Column slices asetofsymbols@gmail.com - 2015-05-20 08:05 -0700
            Re: Column slices luser droog <luser.droog@gmail.com> - 2015-05-19 21:20 -0700
              Re: Column slices asetofsymbols@gmail.com - 2015-05-20 08:55 -0700
                Re: Column slices asetofsymbols@gmail.com - 2015-05-20 08:58 -0700
                Re: Column slices asetofsymbols@gmail.com - 2015-05-21 01:22 -0700
                Re: Column slices asetofsymbols@gmail.com - 2015-05-21 01:34 -0700
                Re: Column slices asetofsymbols@gmail.com - 2015-05-26 19:17 -0700
                Re: Column slices asetofsymbols@gmail.com - 2015-05-31 13:56 -0700
                Re: Column slices Keith Thompson <kst-u@mib.org> - 2015-05-31 14:23 -0700
                Re: Column slices Ian Collins <ian-news@hotmail.com> - 2015-06-01 09:37 +1200
                Re: Column slices asetofsymbols@gmail.com - 2015-06-01 01:23 -0700
                Re: Column slices Ian Collins <ian-news@hotmail.com> - 2015-06-01 20:35 +1200
                Re: Column slices mark.bluemel@gmail.com - 2015-06-01 03:50 -0700
                Re: Column slices luser droog <luser.droog@gmail.com> - 2015-06-01 18:04 -0700
                Re: Column slices luser droog <luser.droog@gmail.com> - 2015-06-01 18:16 -0700
                Re: Column slices "Chris M. Thomasson" <nospam@nospam.nospam> - 2015-06-01 19:57 -0700
                Re: Column slices Rosario19 <Ros@invalid.invalid> - 2015-06-02 08:30 +0200
                Re: Column slices luser droog <luser.droog@gmail.com> - 2015-06-02 00:22 -0700
    Re: Column slices Ike Naar <ike@iceland.freeshell.org> - 2015-05-12 06:06 +0000
      Re: Column slices Ike Naar <ike@iceland.freeshell.org> - 2015-05-12 21:15 +0000
    Re: Column slices asetofsymbols@gmail.com - 2015-05-13 20:49 -0700
      Re: Column slices luser droog <luser.droog@gmail.com> - 2015-05-13 23:43 -0700
        Re: Column slices luser droog <luser.droog@gmail.com> - 2015-05-13 23:44 -0700
        Re: Column slices asetofsymbols@gmail.com - 2015-05-14 01:02 -0700
          Re: Column slices asetofsymbols@gmail.com - 2015-05-15 23:06 -0700
            Re: Column slices asetofsymbols@gmail.com - 2015-05-16 03:46 -0700
  Re: Column slices luser droog <luser.droog@gmail.com> - 2015-05-23 00:17 -0700
    Re: Column slices asetofsymbols@gmail.com - 2015-05-23 07:59 -0700
      Re: Column slices asetofsymbols@gmail.com - 2015-05-23 21:25 -0700
        Re: Column slices luser droog <luser.droog@gmail.com> - 2015-05-24 18:29 -0700
      Re: Column slices luser droog <luser.droog@gmail.com> - 2015-05-24 18:08 -0700
        Re: Column slices asetofsymbols@gmail.com - 2015-05-25 00:13 -0700

csiph-web