Oxygen Basic
Information => Open Forum => Topic started by: RobbeK on July 10, 2014, 03:07:18 PM
-
.. I tried Clojure -- needed Eclipse , then some plug-ins , and then I needed Leiningen to get it working , and some other things .. then I found out it could not do a simple square root without an extra math module ..
(it went where it belongs ... )
For FB the math libraries from Mr Jean Debord are superb (much easier than the GNU scientific lib ) -- you even can run DISLIN from the Max-Planck-Institut für Sonnensystemforschung under FB.
.. and speedy .. (developing / compiling / running ) ..
attached, written in about half an hour .. Mandelbrot but accepting any !!! coefficient (even complex)
f(z) = z^p+c (where c=zo p::complex) .. hope it works without the DLLs -- uses japi too
.
-
I'm really happy JAPI found a friend. Could use an updated set of clothes.
-
Hi Rob,
Your program attempts to secretly connect to the net. Is this an intended behavior? I usually wipe such programs mercilessly from my disks and never give them a second chance.
-
The JAPI DLL uses a socket connection to JRE. It might be what you are seeing.
-
Your program attempts to secretly connect to the net. Is this an intended behavior? I usually wipe such programs mercilessly from my disks and never give them a second chance.
what ...
I agree with Mike ...that is one of the reasons why i hate qb64...
he try to connect to internet to check for update....no way >:(
-
Let us not burn the witch before we know the crimes.
-
Hi all,
@ Mike, .. as John says , it's just the connection with the JAVA gui server (completely internal) ; probably (and considering the age of JAPI (2002 ?) it uses a port below 1024 which nowadays needs administrator privileges. (also probably the windows warning could have been more subtile).
More modern JAVA applications will use much higher ports , iirc NewLisp uses 47011 / 47012.
I don't think I have any options about this with JAPI - there is not something as j_start 10000 a protocol that is used in more modern apps.
@John -- I think I'll mail Mr Merten - Swing has "look.and.feel" (and window .manifest files) to change .. well, the look and feel 8) In the mean time he knows his brainchild is still used ...
best Rob
oops addendum : you only have to do it once / executable -- the second and further runs will have this privilege ..
-
I think I'll mail Mr Merten
Good luck with that. I was unsuccessful in my attempts.
-
Hi John,
i"ll give it a try in German (though his name is extremely Dutch).
(we"ll see)
I added the metal look & feel into the source , I"ll download JDK to make the JAR file and gcc to make the DLL -- ( i have no experience with java :-\ -- under windows it's easy -- one just sets up a *.manifest file (where * = anyapplication.exe , it just contains an XML file with the needed gadgets ) .. I use this for GFA executables (a compiler with a gui from before the XP look ).
Even Wine has wincfg to change the look .. strange it is somewhat complicated in JAVA , or am I overlooking something ?????
best Rob
-
I hope you're using my updated JAPI SWING effort that has tons of deprecation issues addressed. (Disclaimer: I'm also not a Java programmer)
-
Yes, John -- using everything i downloaded ...
Playing with the FB Jean Debord library turned out fruitful -- got both Japi and the Math module working in Clozure Common Lisp.
(via FB as foreign functions )
Those " broken exponents" in Julia mappings are interesting ( ps you can not use De Moivre's formulae when the exponent is complex -- but it's all there in FB ..) (well, it's standard in Common Lisp , but that a basic programming language (with a lib) can do this (and at higher speed than Lisp (compared it with Steel Bank CL (should be the fastest)) is very good to know ).
Attached : Clozure Common Lisp using an FB generated dll -- less than 10 sec
best Rob
.
-
Yes, John -- using everything i downloaded ...
From where? I don't remember posting the updated JAPI stuff to the Script BASIC forum. I think that was a All BASIC project. I will dig up my latest build / source and attach the zip for you. (tomorrow, going to bed now)
-
Rob,
Attached is the SB JAPI specific work and where I left off and the Java deprecation fixes I did for the SWING (never released) version of JAPI.
John
.
-
I don't know Robot and thought it would be fun to share what my vision of what he might be like. ;D
(http://files.allbasic.info/O2/robie.jpg)
-
;)
downloaded -- c where it leads .. either robbish or rubbish, I expect ( i never studied JAVA, but I'll give it a try).
best Rob
-
I like your "robbish" very much, Rob, so don't hesitate to share whenever you have some. :D
-
Hi Mike,
Infact I'm kind of happy I already could could give those old lisps some graphics interface possibilities (they come with nothing but a REPL - read/eval/print/loop ).
--- attached how it looks with JAPI at this moment
.
2 ways of calculating orbits of fractals , red the classic abs value (x²+y²) or its squareroot and the "hyperbolic" abs(y*x) - green. --- i used it in our "inside of the fractal" algorithm -- faster than the abs values, but (maybe you rememeber) always gave those tridents in the gradient -- with the first method (and log(log(value)) ) it is completely smooth -- I missed this (once again ) ::)
best Rob
(the Lisp uses FreeBasic for foreign memory and lists are replace with arrays (which are in Lisp of a certain type and length - much faster but makes the fact of using Lisp for this somewhat idiotic - it just imitates C , Basic , Pascal , Fortran .... at this moment )
.
-
Rob,
For grins, have you tried using Script BASIC and the JAPI extension module I sent you with the above example? Keep in mind that it's really easy to create a C extension module function for CPU intensive routines. I would be happy to create a rob.dll or rob.so Script BASIC extension module of the routines you need for maximum speed for the above example. You should be able to expand on your library from there.
Have a look at the Script BASIC SDL_gfx extension module I did using C BASIC on Bitbucket (https://bitbucket.org/ScriptBasic/c-basic). (c-basic / SBext / SDL_gfx )
The reason I mentioned it is SB/JAPI/SDL runs on both Windows and Linux (32/64 bit) allowing you to use the same SB script on either platform.
John
-
I wonder if Charles's DLLC ext. module for SB could be used to give your creations a multi-threaded boost in conjunction with DLLC's ability to run arbitrary DLL functions in their own thread. The MT ext. module could be used to provide lockable shared variables between threads. I have been wanting to use both IUP and SDL together but haven't found anything exciting enough (until now) to invest any time into it. If you and Mike want to join forces and kick this around, I'll facilitate and participate in the effort. With Dave's COM/.NET Script BASIC ext. module, who knows where this could lead. You should give the new Script BASIC IDE/Debugger for Windows a try. Dave did an excellent job with it.
-
Hi John,
Well, made something with a modern look and feel , it works but combining it with Japi only results in blowing up the socket interface time after time . (both work on their own -- (but it are just (net-send .... )'s done in Lisp , nothing more advanced.
so, sent a mail to Mr Merten, and a prof. Java programmer -- I really hope, we could make something out of it ( the idea behind Japi is very excellent ).
best Rob ...
-
So SDL_gfx is out of the question?
I'm talking about building a SB hot rod here. 8)
(http://img5a.flixcart.com/image/block-construction/f/f/e/lego-technic-hot-rod-400x400-imadwcu3r4byhjam.jpeg)
I'm in the next stall tearing apart Dave's new Script BASIC IDE/Debugger and trying to recreate it in IUP.
-
I'm setting up a Amazon EC2 instance of Ubuntu 12.04 LTS 64 bit server/desktop hybrid connected with a tunneled SSH connection. So far I'm able to run all the GUI applications I run on my laptop but without the desktop in the way. For me, best of all worlds.
.
-
Well, made something with a modern look and feel , it works but combining it with Japi only results in blowing up the socket interface time after time . (both work on their own -- (but it are just (net-send .... )'s done in Lisp , nothing more advanced.
I assume you are talking about SB, maybe not. Here are a few of my JAPI SB examples running on Ubuntu 64.
.
-
Oh well, just a thought. Good luck lisping to your fellow lispers. Obscure seems to be the flavor of the day. :o
-
Hi John,
My excuses, but I need some time for this -- if it were anything but JAVA the solution was already on your table , but this does not mean I'm not busy with it , writing that lisp takes one minute - understanding JAVA days and days.
When it came into fashion I bought a book and read it, it is a language I do not like at all , imho it does abstractions that imo are correct, but in the mean time making it very difficult to understand anything of it because the essential content is hidden. (one is using pre-fabricated blocks of code) ---
these imo are the reasons it will take some time , and that no one (except you) made any try to pimp it up (while the complete source is there , and people from Haskell , GNU CL and many others use Japi as they only G interface , still as it came in 2002 ... )
.... quod erat demonstrandum ....
(lupus ne mordet lupum , i hope 8) Rob
-
Have you looked at SDL_gfx yet? JAPI may not be worth the effort since everyone is shying away from Java. (Google, most browsers, ...)
-
Hi John,
SDL_gfx ? nope -- I will do ...
As for FB , another sample (written some time ago)
OpenGL and using Debord's math lib -- Gamma function for complex numbers (you can use SPACE to switch between abs(z) , R(z) and I(z) .. rotate and zoom by the arrow keys .. Enough lib's for FB to program such things swift and easy...
best Rob
.
-
(http://files.allbasic.info/Robie/euler2.png)
It would be great if you could supply source so we can play along in the sandbox of our choice.
The first European to discover North America was the Viking Leif Erikson in 1001. Binary year and the above image looking like viking ships discovering the new world. I think we have a hidden message here. :)
-
hello RobbeK,
I find your threads very interesting, though well over my expertise, but I agree with John, please share your code whether it be basic or lisp or something else. :)
-
I was able to get Wine 1.7 running on my Amazon EC2 instance via a SSH connection.
.
-
Hi Jack, John,
"Binary year " .. yep, there are 10 kind of people on this planet , those who can read binary , and those who can't ::)
-- IIRC the Vikings had a route over Iceland, Greenland, Canada -> southwards ... The name Greenland is an example of early propaganda .. there's almost no green in Greenland, but it would attract colonists ;)
code and a newer (bigger screen) version attached
best, Rob
.
-
This is an example of IUP and OpenGL using BaCon. I'm going to try and convert your OpenGL example to SB or C BASIC.
(http://files.allbasic.info/BaCon/iup_cube.png)
' Example of using of 3D OpenGL and IUP
CONST _CRT_SECURE_NO_WARNINGS
PRAGMA OPTIONS -I/usr/include/iup
PRAGMA LDFLAGS iup iupgl GL GLU
PRAGMA INCLUDE iup.h iupgl.h GL/gl.h GL/glu.h
PROTO IupOpen, IupGLCanvasOpen, IupShowXY, IupMainLoop, IupClose
PROTO IupSetFunction, IupSetAttribute, IupSetCallback, IupDialog
PROTO IupGLMakeCurrent, IupGLSwapBuffers
PROTO glBegin, glVertex3dv, glEnd, glColor3f, glNormal3f
PROTO glClearColor, glClear, glEnable, glMatrixMode
PROTO glPushMatrix, glTranslatef, glScalef, glRotatef, glPopMatrix
PROTO glViewport, glLoadIdentity, gluPerspective, gluLookAt
DECLARE *dialog, *canvas TYPE Ihandle
DECLARE width = 640, height = 480 TYPE int
DECLARE t = 0 TYPE float
SUB polygon(NUMBER a, NUMBER b, NUMBER c, NUMBER d)
DECLARE vertices[][3] = {{-1,-1, 1}, {-1,1,1}, {1,1,1}, {1,-1,1}, \
{-1,-1,-1}, {-1,1,-1}, {1,1,-1}, {1,-1,-1}} TYPE double
glBegin(GL_POLYGON)
glVertex3dv(vertices[a])
glVertex3dv(vertices[b])
glVertex3dv(vertices[c])
glVertex3dv(vertices[d])
glEnd()
END SUB
SUB colorCube
glColor3f(1,0,0)
glNormal3f(1,0,0)
polygon(2,3,7,6)
glColor3f(0,1,0)
glNormal3f(0,1,0)
polygon(1,2,6,5)
glColor3f(0,0,1)
glNormal3f(0,0,1)
polygon(0,3,2,1)
glColor3f(1,0,1)
glNormal3f(0,-1,0)
polygon(3,0,4,7)
glColor3f(1,1,0)
glNormal3f(0,0,-1)
polygon(4,5,6,7)
glColor3f(0,1,1)
glNormal3f(-1,0,0)
polygon(5,4,0,1)
END SUB
FUNCTION repaint_cb(Ihandle *self)
IupGLMakeCurrent(self)
glClearColor(0.3f, 0.3f, 0.3f, 1.0f)
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT)
glEnable(GL_DEPTH_TEST)
glMatrixMode(GL_MODELVIEW)
glPushMatrix()
glTranslatef(0.0f, 0.0f , 0.0f)
glScalef(1.0f, 1.0f, 1.0f)
glRotatef(t, 0, 0, 1)
colorCube()
glPopMatrix()
IupGLSwapBuffers(self)
RETURN IUP_DEFAULT
END FUNCTION
FUNCTION resize_cb(Ihandle *self, NUMBER new_width, NUMBER new_height)
IupGLMakeCurrent(self)
glViewport(0, 0, new_width, new_height)
glMatrixMode(GL_MODELVIEW)
glLoadIdentity()
glMatrixMode(GL_PROJECTION)
glLoadIdentity()
gluPerspective(60, 4./3., 1., 15)
gluLookAt(3, 3, 3, 0, 0, 0, 0, 0, 1)
width = new_width
height = new_height
repaint_cb(canvas)
RETURN IUP_DEFAULT
END FUNCTION
FUNCTION idle_cb
INCR t
repaint_cb(canvas)
RETURN IUP_DEFAULT
END FUNCTION
FUNCTION exit_cb
RETURN IUP_CLOSE
END FUNCTION
' MAIN
IupOpen(NULL, NULL)
IupGLCanvasOpen()
canvas = IupGLCanvas("repaint_cb")
IupSetFunction("repaint_cb", (Icallback)repaint_cb)
IupSetAttribute(canvas, IUP_RASTERSIZE, "640x480")
IupSetAttribute(canvas, IUP_BUFFER, IUP_DOUBLE)
IupSetCallback(canvas, "RESIZE_CB", (Icallback)resize_cb)
dialog = IupDialog(canvas)
IupSetAttribute(dialog, "TITLE", "IUP_3D_OpenGL")
IupSetCallback(dialog, "CLOSE_CB", (Icallback)exit_cb)
IupSetFunction (IUP_IDLE_ACTION, (Icallback)idle_cb)
IupShowXY(dialog, IUP_CENTER, IUP_CENTER)
IupMainLoop()
IupClose()
-
SDL_gfx ? nope -- I will do ...
Here is an example of the Script BASIC 64 bit Windows version of the SDL_gfx extension module. It was compiled with MS VC12. (console C/C++ compiler that comes with Visual Studio 2013 which is a 32 bit application if you can believe that)
' ScriptBasic GFX - Mandelbrot
IMPORT gfx.inc
s = gfx::Window(640,480,"ScriptBasic GFX Mandelbrot")
ts = gfx::Time()
FOR y = 0 TO 479
FOR x = 0 TO 639
cx = (x - 320) / 120
cy = (y - 240) / 120
rit = gfx::Mandelbrot(cx, cy, 510)
gfx::PixelRGBA s, x, y, rit * 32, rit * 16, rit * 8, 255
NEXT
NEXT
te = gfx::Time()
gfx::stringColor s, 20, 15, "Time: " & FORMAT("%.4f",(te-ts)/1000) & " Seconds." & CHR(0), 0x000000ff
gfx::Update
WHILE gfx::KeyName(1) <> "+escape"
WEND
gfx::Close
(http://www.allbasic.info/forum/index.php?action=dlattach;topic=363.0;attach=866;image)
Here is the Mandelbrot() iterator function I added to the SDL_gfx Script BASIC extension module. This is what I meant by building a hot rod.
besFUNCTION(gfx_Mandelbrot)
DIM AS double cx, cy, zx, zy, tp;
DIM AS int iter;
besARGUMENTS("rri")
AT cx, AT cy, AT iter
besARGEND
DEF_WHILE (zx * zx + zy * zy < 4 AND iter > 0)
BEGIN_WHILE
tp = zx * zx - zy * zy + cx;
zy = 2 * zx * zy + cy;
zx = tp;
iter = iter - 1;
WEND
besRETURN_LONG(iter);
besEND
-
This thread needs to be split with a better matching title. What shall we call it? :)
-
Junk Yard Magic?
-
Hi John,
Looking good !!
Just looked @ (transf.) speed of those JAPI image arrays - maybe a little under GET / PUT (?) but very fine ....
Trying SDL_gfx next ....
best Rob
.
-
digital playground ?
+1
-
I'm confused. I don't see how the canvas is being updated.
(http://files.allbasic.info/Robie/japi_julia.png)
#include once "japi.bi"
#include "Windows.bi"
Dim hwnd As HWND
Dim res as LRESULT
hwnd = FindWindow( "Shell_TrayWnd",null)
Dim as integer minall = 419
dim shared as integer r(160000) , g(160000) , b(160000)
dim shared as integer cs , fr , lbl
dim shared as integer i , j , k , it , m
dim shared as long gc
dim shared as single x , y , dz , rc , ic , xo , yo , orb
j_start()
fr=j_frame("Graphic Win")
j_setflowlayout(fr,j_vertical)
j_setinsets(fr,50,20,20,20)
j_setnamedcolorbg(fr,j_light_gray)
j_setnamedcolor(j_label(fr,"Auto closes 10 secs after exec"),j_yellow)
cs=j_canvas(fr,400,400)
j_setnamedcolorbg(cs,j_dark_gray)
lbl=j_label(fr,"INFO")
j_setsize(lbl,240,32)
j_setnamedcolor(lbl,j_white)
j_pack(fr)
j_show(fr)
res = postMessage(hWnd, WM_COMMAND, minall, null )
public sub dump()
j_drawimagesource(cs,0,0,400,400,@r(0),@g(0),@b(0))
end sub
public function julia( x as single , y as single , r as single , s as single , it as integer) as single
dim as single dup
for k=0 to it
gc+=1
dup=x
x=x*x-y*y+r
y=2*dup*y+s
if abs(x*y)>4 then exit for
next
return k*abs(x*y)
end function
gc=0
for m=200 to 0 step -1
xo=-1.5
yo=-1.5
rc=0+m/100
ic=-1+m/100
dz=3/400
it=12
for i=0 to 399
x=xo+i*dz
for j=0 to 399
y=yo+j*dz
orb=julia(x,y,rc,ic,it)
g(i+400*j)=int(5*orb)
next
next
dump()
next
j_settext(lbl,"MAIN ROUTINE "+str(gc)+" X CALLED")
j_sleep(10000)
j_quit()
-
Hi John,
void j drawimagesource ( int obj , int x , int y , int w , int h , int* r , int* g ,int* b ) in C
... @r(0) , @g(0) , @b(0) ) in FB .. in sub dump()
It takes 3 int32 !! arrays to build, not bytes (char) , not rgb- or bgra strings ... somewhat space consuming .
those addresses are the problems that can hardly be used in Lisp - if it has something as system::address it refers something local that has nothing to do with the real memory hard-ware addresses , but it's fixed in NewLisp now by Z-Strings faking this. (attached the Mandelbrot set of z^8 + z0 -- a NewLisp program (using the GNU scientific Library)
best , Rob
.
-
Oracle is destroying Java and the industry is reacting by shunning it. Time to move on!
You need to look at SDL_gfx.
-
Hi John,
I already did, everything is there -- and more ..
What is it about Oracle ?? (they tell me there stuff is used everywhere ... ) ??
Rob
(btw , what happened with Sun -- been away from programming for a long while, but on leaving the Sun was brightly shining - everyone spoke about it ... I can google, but I prefer human conversation .. )
-
All started when Oracle sued Google for patient infringement with Java use in Android. That fizzled and Oracle is trying to turn open source languages and libraries into a sustainable business. Well, now we have Coffee Script = Java, LibreOffice = Open Office and MariaDB = MySQL. A good example of storing ripe fruit in the wrong container. >:(
-
The imagefilter functions are a collection of MMX optimized routines that operate on continuous buffers of bytes - typically greyscale images from framegrabbers and such - performing functions such as image addition and binarization. All functions (almost ... not the the convolution routines) have a C implementation that is automatically used on systems without MMX capabilities.
Under Linux, I didn't see any appreciable difference between the MMX and the C versions.
jrs@laptop:~/SDL/SDL_gfx-2.0.25/Test$ ./TestImageFilter
src1: aligned (0x7fff814835c0) src2: aligned (0x7fff814835e0) dstm: aligned (0x7fff81483600) dstc: aligned (0x7fff81483620)
t1: aligned (0x7fc8ed776010) t2: aligned (0x7fc8ed575010) d: aligned (0x7fc8ed374010)
TestImageFilter
Testing an array of 23 bytes - first 16 bytes should be processed
by MMX or C code, the last 7 bytes only by C code.
------------------------------------------------------------------------
pos 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
src1 01 04 01 03 21 05 06 07 08 09 0a 0b 0c 0d 08 5d 56 1c bc db 7e 66 b3
src2 01 03 03 02 2c 09 08 07 06 05 04 03 02 01 0a 5d 56 1c bc db 7e 66 b3
MMX BitAnd dest 01 00 01 02 20 01 00 07 00 01 00 03 00 01 08 5d 56 1c bc db 7e 66 b3
MMX 50x2048k: 155ms
pos 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
src1 01 04 01 03 21 05 06 07 08 09 0a 0b 0c 0d 08 5d 56 1c bc db 7e 66 b3
src2 01 03 03 02 2c 09 08 07 06 05 04 03 02 01 0a 5d 56 1c bc db 7e 66 b3
C BitAnd dest 01 00 01 02 20 01 00 07 00 01 00 03 00 01 08 5d 56 1c bc db 7e 66 b3
C 50x2048k: 155ms
OK
------------------------------------------------------------------------
pos 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
src1 01 04 01 03 21 05 06 07 08 09 0a 0b 0c 0d 08 0b 7d 78 a6 7f 36 42 7e
src2 01 03 03 02 2c 09 08 07 06 05 04 03 02 01 0a 0b 7d 78 a6 7f 36 42 7e
MMX BitOr dest 01 07 03 03 2d 0d 0e 07 0e 0d 0e 0b 0e 0d 0a 0b 7d 78 a6 7f 36 42 7e
MMX 50x2048k: 155ms
pos 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
src1 01 04 01 03 21 05 06 07 08 09 0a 0b 0c 0d 08 0b 7d 78 a6 7f 36 42 7e
src2 01 03 03 02 2c 09 08 07 06 05 04 03 02 01 0a 0b 7d 78 a6 7f 36 42 7e
C BitOr dest 01 07 03 03 2d 0d 0e 07 0e 0d 0e 0b 0e 0d 0a 0b 7d 78 a6 7f 36 42 7e
C 50x2048k: 155ms
OK
------------------------------------------------------------------------
pos 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
src1 01 04 01 03 21 05 06 07 08 09 0a 0b 0c 0d 08 7c a2 d7 0c c2 45 61 53
src2 01 03 03 02 2c 09 08 07 06 05 04 03 02 01 0a 7c a2 d7 0c c2 45 61 53
MMX Add dest 02 07 04 05 4d 0e 0e 0e 0e 0e 0e 0e 0e 0e 12 f8 ff ff 18 ff 8a c2 a6
MMX 50x2048k: 205ms
pos 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
src1 01 04 01 03 21 05 06 07 08 09 0a 0b 0c 0d 08 7c a2 d7 0c c2 45 61 53
src2 01 03 03 02 2c 09 08 07 06 05 04 03 02 01 0a 7c a2 d7 0c c2 45 61 53
C Add dest 02 07 04 05 4d 0e 0e 0e 0e 0e 0e 0e 0e 0e 12 f8 ff ff 18 ff 8a c2 a6
C 50x2048k: 203ms
OK
------------------------------------------------------------------------
pos 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
src1 01 04 01 03 21 05 06 07 08 09 0a 0b 0c 0d 08 e6 ea 07 c8 98 cc 56 f5
src2 01 03 03 02 2c 09 08 07 06 05 04 03 02 01 0a e6 ea 07 c8 98 cc 56 f5
MMX AbsDiff dest 00 01 02 01 0b 04 02 00 02 04 06 08 0a 0c 02 00 00 00 00 00 00 00 00
MMX 50x2048k: 204ms
pos 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
src1 01 04 01 03 21 05 06 07 08 09 0a 0b 0c 0d 08 e6 ea 07 c8 98 cc 56 f5
src2 01 03 03 02 2c 09 08 07 06 05 04 03 02 01 0a e6 ea 07 c8 98 cc 56 f5
C AbsDiff dest 00 01 02 01 0b 04 02 00 02 04 06 08 0a 0c 02 00 00 00 00 00 00 00 00
C 50x2048k: 205ms
OK
------------------------------------------------------------------------
pos 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
src1 01 04 01 03 21 05 06 07 08 09 0a 0b 0c 0d 08 23 72 b2 fe f1 18 b1 fc
src2 01 03 03 02 2c 09 08 07 06 05 04 03 02 01 0a 23 72 b2 fe f1 18 b1 fc
MMX Mean dest 00 03 01 02 26 06 07 06 07 06 07 06 07 06 09 22 72 b2 fe f0 18 b0 fc
MMX 50x2048k: 204ms
pos 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
src1 01 04 01 03 21 05 06 07 08 09 0a 0b 0c 0d 08 23 72 b2 fe f1 18 b1 fc
src2 01 03 03 02 2c 09 08 07 06 05 04 03 02 01 0a 23 72 b2 fe f1 18 b1 fc
C Mean dest 00 03 01 02 26 06 07 06 07 06 07 06 07 06 09 22 72 b2 fe f0 18 b0 fc
C 50x2048k: 205ms
OK
------------------------------------------------------------------------
pos 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
src1 01 04 01 03 21 05 06 07 08 09 0a 0b 0c 0d 08 95 2a a2 14 60 e5 93 dd
src2 01 03 03 02 2c 09 08 07 06 05 04 03 02 01 0a 95 2a a2 14 60 e5 93 dd
MMX Sub dest 00 01 00 01 00 00 00 00 02 04 06 08 0a 0c 00 00 00 00 00 00 00 00 00
MMX 50x2048k: 154ms
pos 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
src1 01 04 01 03 21 05 06 07 08 09 0a 0b 0c 0d 08 95 2a a2 14 60 e5 93 dd
src2 01 03 03 02 2c 09 08 07 06 05 04 03 02 01 0a 95 2a a2 14 60 e5 93 dd
C Sub dest 00 01 00 01 00 00 00 00 02 04 06 08 0a 0c 00 00 00 00 00 00 00 00 00
C 50x2048k: 155ms
OK
------------------------------------------------------------------------
pos 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
src1 01 04 01 03 21 05 06 07 08 09 0a 0b 0c 0d 08 87 6a e9 49 af 4a 9c 95
src2 01 03 03 02 2c 09 08 07 06 05 04 03 02 01 0a 87 6a e9 49 af 4a 9c 95
MMX Mult dest 01 0c 03 06 ff 2d 30 31 30 2d 28 21 18 0d 50 ff ff ff ff ff ff ff ff
MMX 50x2048k: 204ms
pos 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
src1 01 04 01 03 21 05 06 07 08 09 0a 0b 0c 0d 08 87 6a e9 49 af 4a 9c 95
src2 01 03 03 02 2c 09 08 07 06 05 04 03 02 01 0a 87 6a e9 49 af 4a 9c 95
C Mult dest 01 0c 03 06 ff 2d 30 31 30 2d 28 21 18 0d 50 ff ff ff ff ff ff ff ff
C 50x2048k: 205ms
OK
------------------------------------------------------------------------
pos 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
src1 01 04 01 03 21 05 06 07 08 09 0a 0b 0c 0d 08 34 a3 5d cd 70 b4 c2 93
src2 01 03 03 02 2c 09 08 07 06 05 04 03 02 01 0a 34 a3 5d cd 70 b4 c2 93
MMX MultNor dest 01 0c 03 06 ac 2d 30 31 30 2d 28 21 18 0d 50 90 c9 c9 29 00 90 04 69
MMX 50x2048k: 155ms
pos 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
src1 01 04 01 03 21 05 06 07 08 09 0a 0b 0c 0d 08 34 a3 5d cd 70 b4 c2 93
src2 01 03 03 02 2c 09 08 07 06 05 04 03 02 01 0a 34 a3 5d cd 70 b4 c2 93
C MultNor dest 01 0c 03 06 ac 2d 30 31 30 2d 28 21 18 0d 50 90 c9 c9 29 00 90 04 69
C 50x2048k: 155ms
OK
------------------------------------------------------------------------
pos 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
src1 01 04 01 03 21 05 06 07 08 09 0a 0b 0c 0d 08 26 74 91 17 8c 43 13 21
src2 01 03 03 02 2c 09 08 07 06 05 04 03 02 01 0a 26 74 91 17 8c 43 13 21
MMX MultDivby2 dest 00 06 00 02 ff 12 18 15 18 14 14 0f 0c 06 28 ff ff ff fd ff ff ab ff
MMX 50x2048k: 209ms
pos 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
src1 01 04 01 03 21 05 06 07 08 09 0a 0b 0c 0d 08 26 74 91 17 8c 43 13 21
src2 01 03 03 02 2c 09 08 07 06 05 04 03 02 01 0a 26 74 91 17 8c 43 13 21
C MultDivby2 dest 00 06 00 02 ff 12 18 15 18 14 14 0f 0c 06 28 ff ff ff fd ff ff ab ff
C 50x2048k: 210ms
OK
------------------------------------------------------------------------
pos 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
src1 01 04 01 03 21 05 06 07 08 09 0a 0b 0c 0d 08 6d b6 36 cd 9b c9 aa 22
src2 01 03 03 02 2c 09 08 07 06 05 04 03 02 01 0a 6d b6 36 cd 9b c9 aa 22
MMX MultDivby4 dest 00 02 00 01 ff 08 0c 09 0c 08 0a 05 06 00 14 ff ff ff ff ff ff ff ff
MMX 50x2048k: 258ms
pos 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
src1 01 04 01 03 21 05 06 07 08 09 0a 0b 0c 0d 08 6d b6 36 cd 9b c9 aa 22
src2 01 03 03 02 2c 09 08 07 06 05 04 03 02 01 0a 6d b6 36 cd 9b c9 aa 22
C MultDivby4 dest 00 02 00 01 ff 08 0c 09 0c 08 0a 05 06 00 14 ff ff ff ff ff ff ff ff
C 50x2048k: 259ms
OK
------------------------------------------------------------------------
-
Here is an example of using DLLC for SB IUP multi-threaded and .NET via Dave's COM extension in a thread.
.