# XCOS blocks with annotation \_c \_f

**URL:** <https://scilab.discourse.group/t/xcos-blocks-with-annotation-c-f/100>\
**Category:** Xcos\
**Created:** [June 2, 2023, 10:14am UTC](https://scilab.discourse.group/t/xcos-blocks-with-annotation-c-f/100 "2023-06-02T10:14:16Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![Dauer](https://avatars.discourse-cdn.com/v4/letter/d/dec6dc/32.png) [@Dauer](https://scilab.discourse.group/u/Dauer)\
**Post date:** [June 2, 2023, 10:14am UTC](https://scilab.discourse.group/t/xcos-blocks-with-annotation-c-f/100/1 "2023-06-02T10:14:16Z")

</div>

Hi,  
I have noticed blocks which have en ending of either \_f, \_c . When does for example the CONST block in sources have three different versions with these annotations?

Thanks.

---

<div class="post-metadata">

**Author:** ![davidcl](https://yyz2.discourse-cdn.com/free1/user_avatar/scilab.discourse.group/davidcl/32/1029_2.png) [@davidcl](https://scilab.discourse.group/u/davidcl)\
**Post date:** [June 2, 2023, 1:46pm UTC](https://scilab.discourse.group/t/xcos-blocks-with-annotation-c-f/100/2 "2023-06-02T13:46:56Z")

</div>

All these blocks are different implementations of the same mathematical function. Historically, the `_f` and `_c` suffixes were the Xcos/Scicos API used in the associated simulation function but this is no more true.

The point is: **the implementation differs**! Some might support scalar inputs, others matrices; some might have a vector-like operation, others matrix-like; some might saturate on a upper-value set in the parameters, others might overflow as in C; etc…

---

<div class="post-metadata">

**Author:** ![Dauer](https://avatars.discourse-cdn.com/v4/letter/d/dec6dc/32.png) [@Dauer](https://scilab.discourse.group/u/Dauer)\
**Post date:** [June 6, 2023, 7:45am UTC](https://scilab.discourse.group/t/xcos-blocks-with-annotation-c-f/100/3 "2023-06-06T07:45:44Z")

</div>

I read somewhere that the \_f was implementation in Fortran and \_c was written C. I must have overlocked that there was some difference in the between them besides them. I will look into that 👍

Thanks !

---

<div class="post-metadata">

**Author:** ![Smart](https://avatars.discourse-cdn.com/v4/letter/s/8baadc/32.png) [@Smart](https://scilab.discourse.group/u/Smart)\
**Post date:** [March 20, 2024, 9:51am UTC](https://scilab.discourse.group/t/xcos-blocks-with-annotation-c-f/100/4 "2024-03-20T09:51:14Z")

</div>

Hello @davidcl, could you guide me on when to choose “PRODUCT” over “PROD\_f” for performing multiplication? I encountered issues with the PRODUCT Block when attempting to use it for division, resulting in the following error message:

```auto
Simulation problem:
at block #18" -3b9d4a6a:18e56739c2f.-7de1"
singularity in a block
Xcos error: Partial information in "pout(2)" is unset 
for Block '15- "-776dad33:18e55af1a51:-7ee9": a value
between 1 and 39 expected.

```

However, I managed to get satisfactory outcomes by employing the “INVBLK” Block and the “Prod\_f” Block instead.

---

<div class="post-metadata">

**Author:** ![davidcl](https://yyz2.discourse-cdn.com/free1/user_avatar/scilab.discourse.group/davidcl/32/1029_2.png) [@davidcl](https://scilab.discourse.group/u/davidcl)\
**Post date:** [March 20, 2024, 3:03pm UTC](https://scilab.discourse.group/t/xcos-blocks-with-annotation-c-f/100/5 "2024-03-20T15:03:55Z")

</div>

Hello @Smart, the PRODUCT block is supposed to be better than PROD\_f ; it as more parameters to tweak its inputs and the error on divide. Could you post a schema describing the issue ?

Thanks
