Page 1 of 2
Next updatet
Posted: Wed Oct 24, 2012 11:24 pm
by Sveinung
What have you planed for the next version ?
Regards
Sveinung
Re: Next updatet
Posted: Wed Oct 24, 2012 11:40 pm
by IceSoft
A higher release number I think.
Re: Next updatet
Posted: Wed Oct 24, 2012 11:43 pm
by Fred
A lot of things !
Re: Next updatet
Posted: Thu Oct 25, 2012 12:39 am
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
Re: Next updatet
Posted: Thu Oct 25, 2012 6:53 am
by Danilo
128bit and 256bit Integer/Float types, compatible to Win95 and Intel 486 processors?
Or only available with SSE/SEE2/SSE3 and AVX processor extensions?
Re: Next updatet
Posted: Thu Oct 25, 2012 11:15 am
by eesau
Native matrix datatypes would be great, now that the 3D engine is up to date.
Re: Next updatet
Posted: Thu Oct 25, 2012 2:24 pm
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.
Best regards
Re: Next updatet
Posted: Fri Oct 26, 2012 6:22 am
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?
Re: Next updatet
Posted: Fri Oct 26, 2012 7:21 am
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

Re: Next updatet
Posted: Fri Oct 26, 2012 2:10 pm
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
Re: Next updatet
Posted: Tue Oct 30, 2012 7:31 pm
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.
Re: Next updatet
Posted: Tue Oct 30, 2012 7:52 pm
by Ramihyn_
Technically you can do 256 bit integer arithmetic even on 8-bit CPUs with
arbitrary precision arithmetic.
Re: Next updatet
Posted: Tue Oct 30, 2012 8:06 pm
by Thorium
Yes, you can. But Guimauve refered to the xmm and ymm registers supported by FASM, which are CPU native.
Re: Next updatet
Posted: Tue Oct 30, 2012 11:58 pm
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
Re: Next updatet
Posted: Wed Oct 31, 2012 1:49 am
by Tenaja
C's Int type is the same as PB's Integer.