Sujet : Re: on allowing "int a" definition everywhere
De : fir (at) *nospam* grunge.pl (fir)
Groupes : comp.lang.cDate : 29. Aug 2024, 08:24:53
Autres entêtes
Organisation : i2pn2 (i2pn.org)
Message-ID : <28f282d59a73bdc9a8fd808ebd2aefb89065bd5b@i2pn2.org>
References : 1 2 3 4 5 6 7 8
User-Agent : Mozilla/5.0 (Windows NT 5.1; rv:27.0) Gecko/20100101 Firefox/27.0 SeaMonkey/2.24
fir wrote:
on fictional snippet (probebly not working)
>
void draw_line( float x, float y, float x2, float y2, unsigned color)
{
float
wx=dist(x,x2),wy=dist(y,y2); int m=wx<wy?wx:wy;
float dx=wx/m,dy=wy/m;for(int
i=0;i<(int)m;i++)set_pixel(x+=dx,y+=dy,color);
}
>
>
i thought on it yet and concluded code for that shopuld look more like
point {ints x y}
line {points p q}
draw line(color c)
{
point a = p
int m = max abs(q-p) ' a+=(q-p)/m, Setpixel a, c
}
explanation:
point {ints x y}
this is structure "point" definition ,
ints is int[] but it also has named elements so int[0[ is x and int[1] is y (such is very handy as structure may be seen as array and array as structure.. so more fractal touch added (if it is proper name fractal touch as maybe not im not sure)
line {points p q}
same this is structure named "line" defined
draw line(color c)
this is function header though line here is a type so its
a bit new in that aspect possibly
point a = p
instantiates point structure entity named a and copies p into it
as p is point in line and p is int2 type and int2 has defined assigning
to other int2 so this is automatic
int m = max abs(q-p)
same here q-p are int2 - int2 they are defined to retuirn int2
abs is defined on int2 to return two int2 values then max is defined on int2 to return one int
m' is loop (loop m times)
this a+=(q-p)/m, is calculation, i know it will not work as
it shopuld work on floats but for simplicity of example as i was thinkin on ints i will stay it with ints
overally this is kinda closer to C2 syntax i need