Page 2 of 2

Re: Pixilang v3.4.7

Posted: Sat Jul 05, 2014 3:37 am
by phase
Здравствуйте. Нашёл странность.
Если создать одномерный массив чисел с плавающей точкой то он ведёт себя как целочисленный массив (отбрасывает дробную часть).
Например:

Code: Select all

v=new(2,FLOAT) //vx,vy 
a=new(2,FLOAT) //ax,ay
clean(v) clean(a) 

a[0]=0.5
printf("a[1]=%f \n",a[1])
v[0]=0.5
printf("v[1]=%f \n",v[1])
x=v[1]+a[1]
printf("v[1]+a[1]=%f \n",x)
frame(-1)
Выдаёт:
a[1]=0.000000
v[1]=0.000000
v[1]+a[1]=0.000000
Ожидалось 1,000000
Но если написать
v=new(2,1,FLOAT)
a=new(2,1,FLOAT)
То всё вычисляется верно. x=1. Но хотелось бы чтобы всё вычислялось и в таком виде: v=new(2,FLOAT).

Re: Pixilang v3.4.7

Posted: Mon Jul 07, 2014 8:59 am
by NightRadio
Одномерный массив - это массив, размерность которого по одной из осей равна 1.
То есть, создается он, например, так:

Code: Select all

v = new( 2, 1, FLOAT ) 
Запись вида new(2,FLOAT) не корректна