Jim Kring Posted November 21, 2007 Author Report Share Posted November 21, 2007 QUOTE(Tomi Maila @ Nov 20 2007, 03:46 AM) When wiring error into a loop, the most common use case is to have a shift register to pass the error from iteration to iteration. Hence shift registers should be the default terminal type for error clusters when wired to a loop. And refnums, too Quote Link to comment
Jim Kring Posted November 21, 2007 Report Share Posted November 21, 2007 QUOTE(Tomi Maila @ Nov 20 2007, 03:46 AM) When wiring error into a loop, the most common use case is to have a shift register to pass the error from iteration to iteration. Hence shift registers should be the default terminal type for error clusters when wired to a loop. And refnums, too Quote Link to comment
Jim Kring Posted November 21, 2007 Author Report Share Posted November 21, 2007 QUOTE(Tomi Maila @ Nov 20 2007, 03:46 AM) When wiring error into a loop, the most common use case is to have a shift register to pass the error from iteration to iteration. Hence shift registers should be the default terminal type for error clusters when wired to a loop. And refnums, too Quote Link to comment
MikaelH Posted November 21, 2007 Report Share Posted November 21, 2007 QUOTE(Jim Kring @ Nov 21 2007, 07:00 AM) And refnums, too But refnums of cause only need a shift register when you're using a for loop (to solve the issue when N=0). //Mikael Quote Link to comment
MikaelH Posted November 21, 2007 Report Share Posted November 21, 2007 QUOTE(Jim Kring @ Nov 21 2007, 07:00 AM) And refnums, too But refnums of cause only need a shift register when you're using a for loop (to solve the issue when N=0). //Mikael Quote Link to comment
ned Posted November 21, 2007 Report Share Posted November 21, 2007 QUOTE(Jim Kring @ Nov 20 2007, 03:00 PM) And refnums, too Why would you need refnums to be shift registers? Unless you're closing the reference within the loop and replacing it with a not-a-refnum constant, I'd expect they would pass through a loop unmodified, and I don't think there would be a benefit to using a shift register over a tunnel (although I don't think there would be a disadvantage, either, which might be enough to make your point). Quote Link to comment
ned Posted November 21, 2007 Report Share Posted November 21, 2007 QUOTE(Jim Kring @ Nov 20 2007, 03:00 PM) And refnums, too Why would you need refnums to be shift registers? Unless you're closing the reference within the loop and replacing it with a not-a-refnum constant, I'd expect they would pass through a loop unmodified, and I don't think there would be a benefit to using a shift register over a tunnel (although I don't think there would be a disadvantage, either, which might be enough to make your point). Quote Link to comment
Tomi Maila Posted November 21, 2007 Report Share Posted November 21, 2007 QUOTE(ned @ Nov 20 2007, 10:17 PM) Why would you need refnums to be shift registers? Unless you're closing the reference within the loop and replacing it with a not-a-refnum constant, I'd expect they would pass through a loop unmodified, and I don't think there would be a benefit to using a shift register over a tunnel (although I don't think there would be a disadvantage, either, which might be enough to make your point). Because if for loop is never executed (N=0), the reference is not passed trough the loop, but a default NULL reference is returned at the other end of the loop instead. Tomi Quote Link to comment
Tomi Maila Posted November 21, 2007 Report Share Posted November 21, 2007 QUOTE(ned @ Nov 20 2007, 10:17 PM) Why would you need refnums to be shift registers? Unless you're closing the reference within the loop and replacing it with a not-a-refnum constant, I'd expect they would pass through a loop unmodified, and I don't think there would be a benefit to using a shift register over a tunnel (although I don't think there would be a disadvantage, either, which might be enough to make your point). Because if for loop is never executed (N=0), the reference is not passed trough the loop, but a default NULL reference is returned at the other end of the loop instead. Tomi Quote Link to comment
ned Posted November 21, 2007 Report Share Posted November 21, 2007 QUOTE(Tomi Maila @ Nov 20 2007, 03:21 PM) Because if for loop is never executed (N=0), the reference is not passed trough the loop, but a default NULL reference is returned at the other end of the loop instead.Tomi Ah, right. I've been bitten by that one before, and now my solution is usually to fork the wire outside the for loop. Quote Link to comment
ned Posted November 21, 2007 Report Share Posted November 21, 2007 QUOTE(Tomi Maila @ Nov 20 2007, 03:21 PM) Because if for loop is never executed (N=0), the reference is not passed trough the loop, but a default NULL reference is returned at the other end of the loop instead.Tomi Ah, right. I've been bitten by that one before, and now my solution is usually to fork the wire outside the for loop. Quote Link to comment
silmaril Posted November 24, 2007 Report Share Posted November 24, 2007 QUOTE(Tomi Maila @ Nov 20 2007, 12:46 PM) When wiring error into a loop, the most common use case is to have a shift register to pass the error from iteration to iteration. Hence shift registers should be the default terminal type for error clusters when wired to a loop.EDIT: The same should apply for all reference types. I agree absolutely. Did you already suggest this on NI's site? Quote Link to comment
silmaril Posted November 24, 2007 Report Share Posted November 24, 2007 QUOTE(Tomi Maila @ Nov 20 2007, 12:46 PM) When wiring error into a loop, the most common use case is to have a shift register to pass the error from iteration to iteration. Hence shift registers should be the default terminal type for error clusters when wired to a loop.EDIT: The same should apply for all reference types. I agree absolutely. Did you already suggest this on NI's site? Quote Link to comment
Tomi Maila Posted November 24, 2007 Report Share Posted November 24, 2007 QUOTE(silmaril @ Nov 23 2007, 10:14 AM) Did you already suggest this on NI's site? I just did. Quote Link to comment
Tomi Maila Posted November 24, 2007 Report Share Posted November 24, 2007 QUOTE(silmaril @ Nov 23 2007, 10:14 AM) Did you already suggest this on NI's site? I just did. Quote Link to comment
Rolf Kalbermatter Posted November 30, 2007 Report Share Posted November 30, 2007 QUOTE(ned @ Nov 20 2007, 03:17 PM) Why would you need refnums to be shift registers? Unless you're closing the reference within the loop and replacing it with a not-a-refnum constant, I'd expect they would pass through a loop unmodified, and I don't think there would be a benefit to using a shift register over a tunnel (although I don't think there would be a disadvantage, either, which might be enough to make your point). Another reason (except the N=0 issue which I think was changed at some point around 7.x) is that wiring the refnum out of the loop defaults to autoindexing for the for loop which is almost never what it should do. Using shift registers solves that too. Rolf Kalbermatter Quote Link to comment
orko Posted December 5, 2007 Report Share Posted December 5, 2007 QUOTE(Tomi Maila @ Nov 20 2007, 03:46 AM) When wiring error into a loop, the most common use case is to have a shift register to pass the error from iteration to iteration. Hence shift registers should be the default terminal type for error clusters when wired to a loop.EDIT: The same should apply for all reference types. I can't count how many times I've pointed out a tunneled error cluster in a co-worker's code and each time it's the same response -- "Ack! I forgot about that..." The majority of times, a shift register is definitely the right choice, so I agree totally it should be the default. PS. Sometimes I am the co-worker :laugh: Quote Link to comment
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.