Added methods to return the standard format for each dimension,
depending on the chosen unit system.
Change-Id: I3591a806beca315674cc09093b57e8753db5db6a
A split (such as _h+_min+_s) can now be generated for distances, volumes
and masses using imperial units.
Change-Id: Ib3ad63614979eddd02fbe0e99f16cf09dcf7c1fc
BuildTimesplit (used to create expressions of the form h+min+s) is now
based on the more general BuildSplit.
Change-Id: I3e55359cc6b9735269140942b29bd1d364fc35e7
When the country is USA, the units will be simplified to common imperial
units rather than metric.
Change-Id: Ia533527a429ac26526380e324b9543b359f3b400
The new units are :
distance mile, yard, foot, inch
mass pound, ounce
volume gallon, quart, pint, cup, fluid ounce
table spoon, tea spoon
Change-Id: I6864067a1822a077764ed3b61fc46004732e9447
Multiplication::privateShallowReduce can create an Undef node by
multiplying 0 and inf. In this case, we set the whole multiplication to
undef, to avoid things such as undef*π.
This fixes the following bug :
- In Graph, enter i*inf*π as one of the bounds. An assertion fails in
Multiplication::removeUnit.
Change-Id: Ie9d0d561d6e310f52220b98541f22a4b5e56762c
Changed previousNestedIntegral method to prevent integrals located in
integral bounds to be considered as nested.
Change-Id: Id8cc4369f53c278ac59039fde1c2818af2ccacab
Float<float> and Float<double> used to share the same expression type
(Float), and the distinction was made by comparing their size. However,
due to padding, their size could be the same, leading to some issues :
- On the simulator, in Calculation, type 1_mm^3 and go to the
additional outputs. One of the results would be -0.0003081979_µm^3.
Change-Id: Ic8f9328bf462104776fbab636c34d0d152cd7e58
This fixes issues #1541. Formulas as asin(sin(X)) with X a large number
were failling to simplify themselves into the image interval of asin
ex : previous version asin(sin(6)) = 6
new version asin(sin(6)) = -2pi+6
Change-Id: Ia6200b67914224cecd2cd943bcf9bc2ff6e0447a
To prevent incorrect approximations, such as cos(1.5707963267949) = 0, we lowered the precision value. This way,
the approximation is more selective. However, when ploting functions such as e^(i.pi+x), the float approximation fails
and therefore, the function appears "undef".
As a result we created two functions Epsilon that behave differently according to the number's type. When it is a double,
we want a maximal precision -> epsilon_double = 1x10^(-15), and when it is a float, we accept more agressive approximations
-> epsilon_float = 10 x 1x10^(-7).
Change-Id: I844ac52ade665f51fe6888db38f4485c193286d9
Removed limitation in calculation of normal_distribution. It was used to
speed-up computation but yielded 0 for small values.
Previously P(X<5) with X->N(7,0.3162) gave 0 as a result
now it gives 1.26e-10
Change-Id: I3f1c997dfe2ba6424b372a0a82af6d9871443657
We now compute the value of the mantissa in double (instead of float)
to limit conversion error occuring for big numbers.
Change-Id: Ia61c052f0bc4a9196c53e2c7900eb48e3343d39c
New way of drawing sigma sign. Only a single branch is stored. The full
symbol is created by mirroring half a symbol.
Change-Id: I0fc32393203e51578c88b01125a907d402291534
Changed the look of the integral symbol and the positions of the upper
and lower bounds. Added a drawing of the window to explain the meaning
of various margins.
Change-Id: I3ffc07848dc9ad68dce3c0e01853d548e31dd152