× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.



Binary search. Used if the array is sorted.
On Jan 17, 2015 5:29 AM, "Wilson, Jonathan" <piercing_male@xxxxxxxxxxx>
wrote:

On Thu, 2015-01-15 at 23:29 -0800, Gary Kuznitz wrote:
Hi Booth,

I tried your suggestion hours ago. I discovered the Lookup doesn't find
the
EarnTypeS(x) unless they are loaded in sequence even though the
indicator is on EQ.


I recall an article that stated that the lookup changed how it worked
internally.

Instead of, in effect, a loop with test until an equal condition or end
of loop it instead tests for EQ at the mid way point, and if no match
then EQ then GT/LT and then testing the resulting subset (half of the
array) by EQ then GT/LT again, halving each time until the match, or
none, is found. There is a technical name for this type of search
(btree?) but it eludes me at the moment but it reduces the maximum
number of tests significantly... a 100 element array takes 7 steps, a
1000 element array takes 9 steps, but obviously the array must be sorted
prior to testing.


Thanks,

Gary

On 16 Jan 2015 at 0:31, Booth (Booth Martin <rpg400-l@xxxxxxxxxxxx>)
commented
about Re: Lookup with Array:

At V5R3 I would probably do this:
D X 2 0
D EarnTypeS 3 Dim(50)
D HoursSum 12 2 Dim(50)
D PaySum 12 2 Dim(50)
...
C EarnTypeL Lookup EarnTypeS(x) 30
and then use arrays HoursSum(x) and PaySum(x)



--
This is the RPG programming on the IBM i (AS/400 and iSeries) (RPG400-L)
mailing list
To post a message email: RPG400-L@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at http://archive.midrange.com/rpg400-l.



As an Amazon Associate we earn from qualifying purchases.

This thread ...

Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.