| 530 | } |
| 531 | |
| 532 | function integerRangeFitsFloat( |
| 533 | remoteTypeId: number, |
| 534 | localTypeId: number, |
| 535 | ): boolean { |
| 536 | switch (localTypeId) { |
| 537 | case TypeId.FLOAT16: |
| 538 | case TypeId.BFLOAT16: |
| 539 | return remoteTypeId === TypeId.INT8 || remoteTypeId === TypeId.UINT8; |
| 540 | case TypeId.FLOAT32: |
| 541 | return remoteTypeId === TypeId.INT8 |
| 542 | || remoteTypeId === TypeId.INT16 |
| 543 | || remoteTypeId === TypeId.UINT8 |
| 544 | || remoteTypeId === TypeId.UINT16; |
| 545 | case TypeId.FLOAT64: |
| 546 | return remoteTypeId === TypeId.INT8 |
| 547 | || remoteTypeId === TypeId.INT16 |
| 548 | || remoteTypeId === TypeId.INT32 |
| 549 | || remoteTypeId === TypeId.UINT8 |
| 550 | || remoteTypeId === TypeId.UINT16 |
| 551 | || remoteTypeId === TypeId.UINT32; |
| 552 | default: |
| 553 | return false; |
| 554 | } |
| 555 | } |
| 556 | |
| 557 | class StructSerializerGenerator extends BaseSerializerGenerator { |
| 558 | typeInfo: TypeInfo; |