Multiplication component bug

As title.
2019-03-12%2023_00_26-Window
Error should be something like: “Exception generated from/by destination of a call.”
multiplication_bug.gh (3.1 KB)

Rhino 6 SR14 6.14.19064.4371, 05/03/2019
Grasshopper 1.0.0007

That result must depend on very low values of hundred thousand… :wink:

// Rolf

1E5 x 1E5 = 1E10. The maximum 4-byte signed integer value is 2147483647 which is less, so 1E10 cannot be represented by an integer number.

What the real bug here is that if you feed in a “Number” component with the value of 100000.0 into the multiplication, you get the same error

image

1 Like

2 Likes

Logged under RH-51444 and fixed for the next Rhino 7.0 release.

Do note that for numbers this big there are accuracy problems with floating point numbers. The gaps between adjacent numbers get bigger and bigger as the numbers themselves get bigger and eventually the gaps become bigger than 1.0

The only true solution here is to switch to a variable-bit integer format which is not going to happen in GH1.

3 Likes

Hi
Looks like an error here with updated component, the old one was from a previous V6 SR?

Here or empty values are taken as 1… multiplication.gh (7.0 KB)

Version 6 SR13
(6.13.19058.371, 02/27/2019)

This is by design. Undefined inputs in the multiplication and addition components are now treated as identity operands. This is because the number of inputs is variable and I don’t want those components to stop working while you’re adding more inputs.

I agree that there’s a peculiarity now when you provide empty data, but it would have been peculiar either way.

RH-51444 is fixed in the latest WIP

So this means that multiplication will not work correctly for Rhino6 ? We have to wait till 7 ?

You don’t have to wait, you can get R7 right now for free if you have an R6 license.

But yes, this was not backported into R6, as it wasn’t a vital fix. We’re no longer making tiny fixes for R6 and the service release frequency has been lowered.

If you want to be able to do arithmetic beyond the 32-bit integer range, switch to decimals, not integers:

1 Like

Hi @DavidRutten,

The IT department here won’t install WIP versions so we will not have R7 for a few years. Most big firms have this kind of policy so it would be good to still have minor fixes on R6. :frowning:

Thanks for the tip with the decimal number though!

This is new to me…
You mean free license upgrade? Or just the wip that will expire?
I’m just using rhino and visiting grasshopper section of the forum time to time; i’m missing all the news related to rhino :confused:

A lot of people i work with are still on rhino 5, and luckily some have rhino 6. Using 7 would be a problem because they would lack many of the components in .gh files I make.

From one side I’d like to work with 7 and leave the rest to the past, from the other side i must continue using 6 otherwise i can’t properly work at all…

Hi - it’s been like that since after Rhino 1 was released: users with a valid license can download and use the WIP and Beta of the next version until that version ships.

multiplication in the old grasshopper for rhino 4 worked fine, why ?

test.gh (1.3 KB)

When things are changed, it’s always possible that new bugs are introduced…
As stated above, this is fixed for Rhino 7.

1 Like

I try with python and it work fine

Hello @deadlinebin
if there is a bug, please post a relevant example explaining the error. Without that nobody can improve the software.

With your screenshot I can just understand you use a cracked version of Rhinoceros.