Author Topic: Features Wishlist  (Read 690373 times)

0 Members and 6 Guests are viewing this topic.

Offline jacobly

  • LV5 Advanced (Next: 300)
  • *****
  • Posts: 205
  • Rating: +161/-1
    • View Profile
Re: Features Wishlist
« Reply #2640 on: October 08, 2011, 11:29:52 pm »
If you really need line clipping, you can use this 449 byte routine (not including the subroutines used).
The routine uses the full signed 16-bits of each parameter, however it fails for large |x2-x1| and/or large |y2-y1| due to overflow
Code: [Select]
:Lbl LineC
:If r4<<r2
:r1->r5:r3->r1:r5->r3
:r2->r6:r4->r2:r6->r4
:End
:ReturnIf r4<<0
:ReturnIf r2>=>=64
:r1-r3->r5
:r4-r2->r6
:If r2<<0
:r4*r5//r6+r3->r1:0->r2
:End
:If r4>=>=64
:r2-63*r5//r6+r1->r3:63->r4
:End
:If r3<<r1
:r1->r5:r3->r1:r5->r3
:r2->r6:r4->r2:r6->r4
:End
:ReturnIf r3<<0
:ReturnIf r1>=>=96
:r2-r4->r5
:r3-r1->r6
:If r1<<0
:r3*r5//r6+r4->r2:0->r1
:End
:If r3>=>=96
:r1-95*r5//r6+r2->r4:95->r3
:End
:Line(r1,r2,r3,r4)
:Return

Offline DJ Omnimaga

  • Clacualters are teh gr33t
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55943
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
Re: Features Wishlist
« Reply #2641 on: October 08, 2011, 11:37:33 pm »
Heya and welcome to the forums jacobly :)

Offline boot2490

  • LV7 Elite (Next: 700)
  • *******
  • Posts: 607
  • Rating: +54/-36
    • View Profile
    • Boot2490's Stuff
Re: Features Wishlist
« Reply #2642 on: October 09, 2011, 12:05:54 am »
Wow! First post and you're already coding. Welcome to Omnimaga! Be sure to Introduce yourself!
I'm not worried about SOPA creating censorship, that will not stand for long. I'm worried that they'll succeed in stopping piracy!

Spoiler For Signature, updated march 23, 11:28 PM EST:















An useful tool!

PM me if you need some help. I am glad to be of assistance and part of the TI Communnity.

Offline NecroBumpist

  • LV4 Regular (Next: 200)
  • ****
  • Posts: 130
  • Rating: +14/-5
  • Master of Lua
    • View Profile
Re: Features Wishlist
« Reply #2643 on: October 09, 2011, 12:11:23 am »
request: Rect(X,Y,#, -#)
We must not let that suggestion die!
A better one though:
Rect(X1,Y1,X2,Y2,Filled/Not filled/Filled w border/Not filled w border)

Since Axe is about optimization for both speed and size, would it be better to have the compiler have 4 different commands that compile 4 different ways instead of having a bunch of code that potentially will not be executed, depending on what your doing ? (Of course this then becomes a trade of between program optimization and compiler optimization, which should be smaller ?)

Not that I'm an actual Axe programmer worthy of making suggestions, but I'd like to be in the future :)
« Last Edit: October 09, 2011, 12:31:35 am by NecroBumpist »
Developing Lua scripts for the NSpire ?
Check out the Necrotorium
Need a few routines to run faster ? Checkout the MODS Lua Assembly Toolkit.
Need to save space for your scripts ? Checkout LuaSrcDiet

Offline DJ Omnimaga

  • Clacualters are teh gr33t
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55943
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
Re: Features Wishlist
« Reply #2644 on: October 09, 2011, 12:30:22 am »
Wow! First post and you're already coding. Welcome to Omnimaga! Be sure to Introduce yourself!
First post doesn't necessarily mean someone's new. I myself posted for the first time ever on a forum after over 2 years of calc programming.

Offline jacobly

  • LV5 Advanced (Next: 300)
  • *****
  • Posts: 205
  • Rating: +161/-1
    • View Profile
Re: Features Wishlist
« Reply #2645 on: October 09, 2011, 12:49:52 am »
Yeah, I actually started calc programming 6 years ago.
I didn't even know there was a calc programming community until I found revsoft 2 years later.

Offline Deep Toaster

  • So much to do, so much time, so little motivation
  • Administrator
  • LV13 Extreme Addict (Next: 9001)
  • *************
  • Posts: 8217
  • Rating: +758/-15
    • View Profile
    • ClrHome
Re: Features Wishlist
« Reply #2646 on: October 09, 2011, 01:22:08 am »
Same for me -- I'd been coding for two years before I found these forums, but I eventually found my way here eventually after getting to TI|BD from a Google search.

You can introduce yourself to tell us more about you, jacobly. Welcome to Omnimaga!




Offline DJ Omnimaga

  • Clacualters are teh gr33t
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55943
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
Re: Features Wishlist
« Reply #2647 on: October 17, 2011, 01:55:41 am »
Ah I see. I personally started in 2001 but started posting on forums in 2003. I quit programming in 2010, though. I hope your interest for Axe programming remains high for a while!

Offline boot2490

  • LV7 Elite (Next: 700)
  • *******
  • Posts: 607
  • Rating: +54/-36
    • View Profile
    • Boot2490's Stuff
Re: Features Wishlist
« Reply #2648 on: October 18, 2011, 11:07:16 am »
I started a long time ago as well.
But that aside:
Multiple notes at the same time!
I'm not worried about SOPA creating censorship, that will not stand for long. I'm worried that they'll succeed in stopping piracy!

Spoiler For Signature, updated march 23, 11:28 PM EST:















An useful tool!

PM me if you need some help. I am glad to be of assistance and part of the TI Communnity.

Offline Builderboy

  • Physics Guru
  • CoT Emeritus
  • LV13 Extreme Addict (Next: 9001)
  • *
  • Posts: 5673
  • Rating: +613/-9
  • Would you kindly?
    • View Profile
Re: Features Wishlist
« Reply #2649 on: October 18, 2011, 01:30:57 pm »
Multiple notes at the same time!

Definitely a great idea for an Axiom.  Remember the whole reason Quigibo added the axiom system in the first place was so that he wouldn't have to run around adding in all these more specific features.

Offline Happybobjr

  • James Oldiges
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2325
  • Rating: +128/-20
  • Howdy :)
    • View Profile
Re: Features Wishlist
« Reply #2650 on: October 18, 2011, 03:59:20 pm »
Ok I got a good request that should be very easy...

How about we could be able to define constants with this  'number' -> x1

That would replace all occurrences of x1 with the number we had told it to be.  That way we wouldn't have to change every value we wanted to change, and still have the speed increase of not having a variable.
School: East Central High School
 
Axe: 1.0.0
TI-84 +SE  ||| OS: 2.53 MP (patched) ||| Version: "M"
TI-Nspire    |||  Lent out, and never returned
____________________________________________________________

Offline Runer112

  • Project Author
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2289
  • Rating: +639/-31
    • View Profile
Re: Features Wishlist
« Reply #2651 on: October 18, 2011, 04:00:32 pm »
You can already do that. Just do something like 1337→°Const, and now °Const is a constant that equals 1337 for the rest of your program.

Offline Happybobjr

  • James Oldiges
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2325
  • Rating: +128/-20
  • Howdy :)
    • View Profile
Re: Features Wishlist
« Reply #2652 on: October 18, 2011, 04:01:43 pm »
O.o  thanks.
School: East Central High School
 
Axe: 1.0.0
TI-84 +SE  ||| OS: 2.53 MP (patched) ||| Version: "M"
TI-Nspire    |||  Lent out, and never returned
____________________________________________________________

Offline adrusi

  • LV2 Member (Next: 40)
  • **
  • Posts: 25
  • Rating: +4/-0
    • View Profile
    • Adrusi
Re: Features Wishlist
« Reply #2653 on: October 18, 2011, 06:56:25 pm »
It's very likely that this has already been requested, but I'm not about to scan all 531 pages of feature requests. The concept of returning a value would be useful. Since there is no multithreading, you could designate some free memory to serve as a return value store.

Example (substituting the address of the return value memory with `R`):
sub(STUFF, 1, 2) -> A
Disp A>Dec
Lbl STUFF
Return r1*2+(r2*2)

would be read as:
sub(STUFF, 1, 2)
R -> A
Disp A>Dec
Lbl STUFF
r1*2+(r2*2) -> R
Return

It just seems strange to me to have lambdas but not return values.

Offline Deep Toaster

  • So much to do, so much time, so little motivation
  • Administrator
  • LV13 Extreme Addict (Next: 9001)
  • *************
  • Posts: 8217
  • Rating: +758/-15
    • View Profile
    • ClrHome
Re: Features Wishlist
« Reply #2654 on: October 18, 2011, 07:01:16 pm »
Hi adrusi and welcome to Omnimaga! The thing is that the last calculated value is always returned for the next operation; that's why a command like
Code: [Select]
:A+1→Bcan be broken into
Code: [Select]
:A
:+1
:→B
because at each step, the last calculated value (stored in an assembly register called HL) is used. So you could change your code to
Code: [Select]
:r1*2+(r2*2)
:Return
and sub(STUFF,1,2)→A would work.