Re: What LabVIEW does internally while coercion dots appears in block

2004-05-20 Thread Greg McKaskle
> Here i want to add something. If i connect a integer to float terminal
> LabVIEW allocates the memory twice a times unless if i do a proper
> conversion. As per your s/n it should not allocate a memory for array
> conversion too. Pls Let me know if it is wrong.

Assuming you are asking, the answer is that it depends on the node, but 
built-in objects will typically generate code that doesn't take extra 
code for a single integer and float being mixed together.  As I 
mentioned, arrays are different.  There aren't instructions to deal with 
an array at a time, and it normally takes another buffer.

A coercion dot generates the same code as an equivalent conversion 
block.  The real time they are useful is to do conversions at a 
different point in the diagram.  For example, if you are producing 
integers in a loop, building an arry, then later the array gets 
converted into an array of double, using either conversion or coercion 
dots, it will use memory for the array of ints, array of doubles, and 
some small storage for the scalars in the loop.  If you instead do the 
conversion inside the loop, the integer array never gets made, and the 
total storage is for one array of double, and then an additional scalar 
inside the loop.

Greg McKaskle




Re: What LabVIEW does internally while coercion dots appears in block

2004-05-20 Thread subbu
Thanks Greg.
Here i want to add something. If i connect a integer to float terminal
LabVIEW allocates the memory twice a times unless if i do a proper
conversion. As per your s/n it should not allocate a memory for array
conversion too. Pls Let me know if it is wrong.



Re: What LabVIEW does internally while coercion dots appears in block

2004-05-20 Thread Greg McKaskle
> What LabVIEW does internally while coercion dots appears in block
> diagram?

The coercion dot indicates a datatype change is taking place.  In some 
cases, it takes little or no time.  A coercion from an unsigned to a 
signed integer is essentially free since the same amount of code will be 
generated either way, but the condition flags will look different.  For 
integer to floats, the node will often just load one integer into a 
floating point register and no additional storage is needed.

Other times, like with an array, the dot may mean that a new storage 
buffer is needed and the dot is equivalent to a coversion bullet.

Does this answer your question?

Greg McKaskle




What LabVIEW does internally while coercion dots appears in block diagram?

2004-05-19 Thread subbu
What LabVIEW does internally while coercion dots appears in block
diagram?