Pixilang v3.4.7

Pixilang по русски
User avatar
phase
Posts: 17
Joined: Thu Dec 20, 2012 6:16 pm
Location: Хабаровск

Re: Pixilang v3.4.7

Post by phase » Sat Jul 05, 2014 3:37 am

Здравствуйте. Нашёл странность.
Если создать одномерный массив чисел с плавающей точкой то он ведёт себя как целочисленный массив (отбрасывает дробную часть).
Например:

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).
Attachments
2014-07-05_092317.png
Отброс дробной части
2014-07-05_092317.png (12.51 KiB) Viewed 3889 times

User avatar
NightRadio
Site Admin
Posts: 3077
Joined: Fri Jan 23, 2004 12:28 am
Location: Ekaterinburg. Russia
Contact:

Re: Pixilang v3.4.7

Post by NightRadio » Mon Jul 07, 2014 8:59 am

Одномерный массив - это массив, размерность которого по одной из осей равна 1.
То есть, создается он, например, так:

Code: Select all

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

Post Reply