Next updatet

Applications, Games, Tools, User libs and useful stuff coded in PureBasic
User avatar
Sveinung
Enthusiast
Enthusiast
Posts: 142
Joined: Tue Oct 07, 2003 11:03 am
Location: Bergen, Norway

Next updatet

Post by Sveinung »

What have you planed for the next version ?

Regards
Sveinung
User avatar
IceSoft
Addict
Addict
Posts: 1695
Joined: Thu Jun 24, 2004 8:51 am
Location: Germany

Re: Next updatet

Post by IceSoft »

A higher release number I think.
Belive! C++ version of Puzzle of Mystralia
Bug Planet
<Wrapper>4PB, PB<game>, =QONK=, PetriDish, Movie2Image, PictureManager,...
Fred
Administrator
Administrator
Posts: 18224
Joined: Fri May 17, 2002 4:39 pm
Location: France
Contact:

Re: Next updatet

Post by Fred »

A lot of things !
User avatar
Guimauve
Enthusiast
Enthusiast
Posts: 742
Joined: Wed Oct 22, 2003 2:51 am
Location: Canada

Re: Next updatet

Post by Guimauve »

Hello everyone,

OK a lucky guess for PB 5.10 :

- Multiple data compression plugin for the Packer library (Similar to the Image Plugin system : UseJPEGImageEncoder()/UseJPEGImageDecoder(), ...) - A better Joystick library
  • -> 4 axis ranging from -32767 to 32678 with an option to force their range to be from 0 to 65535
- Few more command to the 3D OGRE system
- Few extra command to work with Database as suggested here : http://www.purebasic.fr/english/viewtop ... 12&t=51823
- Tree data structure AKA "BinaryTree", "QuadTree", etc. (We have Dynamic Array, Linked List and Map so a Tree data structure can be nice)
- Unsigned Long, Unsigned Quad, a new signed and unsigned 128 bits integer type and a new 128 bits float type, see here : http://flatassembler.net/docs.php?article=manual#1.2.1
- All Custom Gadgets created by us (just to name few of them) : - A toolbox system similar to the MatLAB or FreeMat one's to create non compiled libraries

And lucky guess for PB 5.20 :
- A new signed and unsigned 256 bits integer type and a new 256 bits float type, see here : http://flatassembler.net/docs.php?article=manual#1.2.1

Best regards
Guimauve
Dear Optimist, Pessimist,
and Realist,

While you guys were
busy arguing about the
glass of water, I DRANK IT !

Sincerely,
the Opportunist
User avatar
Danilo
Addict
Addict
Posts: 3036
Joined: Sat Apr 26, 2003 8:26 am
Location: Planet Earth

Re: Next updatet

Post by Danilo »

Guimauve wrote:- Unsigned Long, Unsigned Quad, a new signed and unsigned 128 bits integer type and a new 128 bits float type, see here : http://flatassembler.net/docs.php?article=manual#1.2.1
...
And lucky guess for PB 5.20 :
- A new signed and unsigned 256 bits integer type and a new 256 bits float type, see here : http://flatassembler.net/docs.php?article=manual#1.2.1
128bit and 256bit Integer/Float types, compatible to Win95 and Intel 486 processors?
Or only available with SSE/SEE2/SSE3 and AVX processor extensions?
eesau
Enthusiast
Enthusiast
Posts: 589
Joined: Fri Apr 27, 2007 12:38 pm
Location: Finland

Re: Next updatet

Post by eesau »

Native matrix datatypes would be great, now that the 3D engine is up to date.
User avatar
Guimauve
Enthusiast
Enthusiast
Posts: 742
Joined: Wed Oct 22, 2003 2:51 am
Location: Canada

Re: Next updatet

Post by Guimauve »

Danilo wrote:128bit and 256bit Integer/Float types, compatible to Win95 and Intel 486 processors?
Or only available with SSE/SEE2/SSE3 and AVX processor extensions?
About Win95 :
On December 31, 2001, Microsoft ended its support for Windows 95, making it an "obsolete" product according to the Microsoft Lifecycle Policy
Source : http://en.wikipedia.org/wiki/Windows_95

So it is relevant to continue to support this platform ? I don't think so. I'm not sure about how exactly the compiler work in background but if you know as a programmer a variable type is not supported on the target platform, don't use them in your program. For example, PureBasic support double (float 64 bits) but if you don't have any double variable in your code what happen ? The assembler code don't contain any "Double" related instructions and the compiled program run.

About 128 bits data type, according to the Flat Assembler manual it's possible with SSE compatible processors. And about 256 bits data type, according to the Flat Assembler manual it's possible with AVX compatible processors. Maybe for PB V6.xx or V7.xx it will be possible because AVX computer will be largely spread at that time.

And it's just a lucky guess, it's not a feature request. :wink:

Best regards
Dear Optimist, Pessimist,
and Realist,

While you guys were
busy arguing about the
glass of water, I DRANK IT !

Sincerely,
the Opportunist
User avatar
Danilo
Addict
Addict
Posts: 3036
Joined: Sat Apr 26, 2003 8:26 am
Location: Planet Earth

Re: Next updatet

Post by Danilo »

Guimauve wrote:
Danilo wrote:128bit and 256bit Integer/Float types, compatible to Win95 and Intel 486 processors?
Or only available with SSE/SEE2/SSE3 and AVX processor extensions?
About Win95 :
On December 31, 2001, Microsoft ended its support for Windows 95, making it an "obsolete" product according to the Microsoft Lifecycle Policy
Source : http://en.wikipedia.org/wiki/Windows_95

So it is relevant to continue to support this platform ? I don't think so.
I don't think so too, but Fred wants to stay Win95 compatible, AFAIK.

Win98, WinME, Win2000 support has also ended.
General XP support has ended April 14, 2009 - extended support (pay for support) ends April 8, 2014.
Windows XP SP3 support is still running, so XP SP3 is the lowest OS still supported by MS.

There are still some users (customers for us programmers) out there that use at least
Windows 2000 and Windows XP. Maybe also Win98 or Win95? Don't know.
I don't need support for Windows 2000 and XP personally, but if my customers request it,
I should give it to them. The customer is king, the customer is always right. ;)


See Windows lifecycle fact sheet - End of support

Guimauve wrote:And it's just a lucky guess
Are you working for Fantaisie Software? First time I read your list I thought this list is official.
Now I am not sure anymore. Are you making fun or is this list the future plan?
Comtois is working for FS now, but I thought there was another guy. Is this you?
jamirokwai
Enthusiast
Enthusiast
Posts: 798
Joined: Tue May 20, 2008 2:12 am
Location: Cologne, Germany
Contact:

Re: Next updatet

Post by jamirokwai »

Guimauve wrote:Hello everyone,

OK a lucky guess for PB 5.10 :

- Multiple data compression plugin for the Packer library (Similar to the Image Plugin system : UseJPEGImageEncoder()/UseJPEGImageDecoder(), ...) - A better Joystick library
  • -> 4 axis ranging from -32767 to 32678 with an option to force their range to be from 0 to 65535
- Few more command to the 3D OGRE system
- Few extra command to work with Database as suggested here : http://www.purebasic.fr/english/viewtop ... 12&t=51823
- Tree data structure AKA "BinaryTree", "QuadTree", etc. (We have Dynamic Array, Linked List and Map so a Tree data structure can be nice)
- Unsigned Long, Unsigned Quad, a new signed and unsigned 128 bits integer type and a new 128 bits float type, see here : http://flatassembler.net/docs.php?article=manual#1.2.1
- All Custom Gadgets created by us (just to name few of them) : - A toolbox system similar to the MatLAB or FreeMat one's to create non compiled libraries

And lucky guess for PB 5.20 :
- A new signed and unsigned 256 bits integer type and a new 256 bits float type, see here : http://flatassembler.net/docs.php?article=manual#1.2.1

Best regards
Guimauve
That List would be a WOW! again :-)
Regards,
JamiroKwai
User avatar
Guimauve
Enthusiast
Enthusiast
Posts: 742
Joined: Wed Oct 22, 2003 2:51 am
Location: Canada

Re: Next updatet

Post by Guimauve »

Danilo wrote:Are you working for Fantaisie Software? First time I read your list I thought this list is official.
Now I am not sure anymore. Are you making fun or is this list the future plan?
Comtois is working for FS now, but I thought there was another guy. Is this you?
1st question : No, in fact I am unemployed at the moment. Next week, I start the 23rd month of research to find a job in Mechanical Engineering. Programming it's just a hobby.
2nd question : Yes, I'm making some fun but all listed elements are possible. Some of them with a lot of work and some of them with little work.
3rd question : No, it's not me. Perhaps G-Rom is the other guy working with Fred, beside Freak of course.

I have pull a request about the Joystick, my god, many years ago and I'm not alone.
And about the Packer library, you should read this : http://www.purebasic.fr/english/viewtop ... 37&t=51806

Best regards
Guimauve
Dear Optimist, Pessimist,
and Realist,

While you guys were
busy arguing about the
glass of water, I DRANK IT !

Sincerely,
the Opportunist
Thorium
Addict
Addict
Posts: 1305
Joined: Sat Aug 15, 2009 6:59 pm

Re: Next updatet

Post by Thorium »

Guimauve wrote: About 128 bits data type, according to the Flat Assembler manual it's possible with SSE compatible processors. And about 256 bits data type, according to the Flat Assembler manual it's possible with AVX compatible processors. Maybe for PB V6.xx or V7.xx it will be possible because AVX computer will be largely spread at that time.
Will not happen. 128bit and 256bit registers are for SIMD you can't use them the way you use 32bit registers. To utilize them PureBasic can't just offer them as variable type but needs to introduce a command set to use SIMD. Which means one command is opperating on multiple data elements which are stored in one 128bit or 256bit variable.
Ramihyn_
Enthusiast
Enthusiast
Posts: 314
Joined: Fri Feb 24, 2006 9:40 am

Re: Next updatet

Post by Ramihyn_ »

Technically you can do 256 bit integer arithmetic even on 8-bit CPUs with arbitrary precision arithmetic.
Thorium
Addict
Addict
Posts: 1305
Joined: Sat Aug 15, 2009 6:59 pm

Re: Next updatet

Post by Thorium »

Ramihyn_ wrote:Technically you can do 256 bit integer arithmetic even on 8-bit CPUs with arbitrary precision arithmetic.
Yes, you can. But Guimauve refered to the xmm and ymm registers supported by FASM, which are CPU native.
User avatar
Guimauve
Enthusiast
Enthusiast
Posts: 742
Joined: Wed Oct 22, 2003 2:51 am
Location: Canada

Re: Next updatet

Post by Guimauve »

Hello everyone,

The problem about integrating a 128 Integer type can't be done with a single ASM instruction. In fact this is why we don't have an "Unsigned Long" and an "Unsigned Quad" type in PB.

And many PB user will tell they are not needed and in most case I totally agree. But interfacing PureBasic code with OpenCL for example can become a nightmare very quickly, because using a Signed Quad variable and passing as an uint64 parameter can lead to bugs and/or extra work on our side to make code working. Personally, I can be happy to have all similar C native types in PureBasic.

So far :
C type <---------------> PB type
signed char <---------------> Byte
unsigned char <---------------> Ascii
short <---------------> Word
unsigned short <---------------> Unicode
long ---------------> Long
unsigned long ---------------> NOTHING EQUIVALENT
long long ---------------> Quad
unsigned long long ---------------> NOTHING EQUIVALENT
float ---------------> Float
double ---------------> Double
long double ---------------> NOTHING EQUIVALENT (also know as 80 bits floating value)

Something PureBasic have and C don't (As far as I know)

Character ---------------> Ascii or Unicode (Depending of the program mode)
Integer ---------------> Long or Quad (Depending of the Processor x86 or x86_64)

For the C "long double" seems to be outdated these days, so why just to create 128 floating point type instead even if SIMD commands are needed ?

Best regards
Guimauve
Dear Optimist, Pessimist,
and Realist,

While you guys were
busy arguing about the
glass of water, I DRANK IT !

Sincerely,
the Opportunist
User avatar
Tenaja
Addict
Addict
Posts: 1959
Joined: Tue Nov 09, 2010 10:15 pm

Re: Next updatet

Post by Tenaja »

C's Int type is the same as PB's Integer.
Post Reply