MCPcopy Create free account
hub / github.com/Kitware/VTK / XdmfArraySwapWithArray

Function XdmfArraySwapWithArray

ThirdParty/xdmf3/vtkxdmf3/core/XdmfArray.cpp:2581–2692  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2579}
2580
2581void
2582XdmfArraySwapWithArray(XDMFARRAY * array, void ** pointer, int numValues, int arrayType, int * status)
2583{
2584 XDMF_ERROR_WRAP_START(status)
2585 switch (arrayType) {
2586 case XDMF_ARRAY_TYPE_UINT8: {
2587 std::vector<unsigned char> swapVector((unsigned char *)(*pointer), (unsigned char *)(*pointer) + numValues);
2588 ((XdmfArray *)array)->swap(swapVector);
2589 *pointer = new unsigned char[swapVector.size()];
2590 for (unsigned int i = 0; i < swapVector.size(); ++i)
2591 {
2592 ((unsigned char *) (*pointer))[i] = swapVector[i];
2593 }
2594 break;
2595 }
2596 case XDMF_ARRAY_TYPE_UINT16: {
2597 std::vector<unsigned short> swapVector((unsigned short *)(*pointer), (unsigned short *)(*pointer) + numValues);
2598 ((XdmfArray *)array)->swap(swapVector);
2599 *pointer = new unsigned short[swapVector.size()];
2600 for (unsigned int i = 0; i < swapVector.size(); ++i)
2601 {
2602 ((unsigned short *) (*pointer))[i] = swapVector[i];
2603 }
2604 break;
2605 }
2606 case XDMF_ARRAY_TYPE_UINT32: {
2607 std::vector<unsigned int> swapVector((unsigned int *)(*pointer), (unsigned int *)(*pointer) + numValues);
2608 ((XdmfArray *)array)->swap(swapVector);
2609 *pointer = new unsigned int[swapVector.size()];
2610 for (unsigned int i = 0; i < swapVector.size(); ++i)
2611 {
2612 ((unsigned int *) (*pointer))[i] = swapVector[i];
2613 }
2614 break;
2615 }
2616 case XDMF_ARRAY_TYPE_UINT64: {
2617 std::vector<uint64_t> swapVector((uint64_t *)(*pointer), (uint64_t *)(*pointer) + numValues);
2618 ((XdmfArray *)array)->swap(swapVector);
2619 *pointer = new uint64_t[swapVector.size()];
2620 for (unsigned int i = 0; i < swapVector.size(); ++i)
2621 {
2622 ((uint64_t *) (*pointer))[i] = swapVector[i];
2623 }
2624 break;
2625 }
2626 case XDMF_ARRAY_TYPE_INT8: {
2627 std::vector<char> swapVector((char *)(*pointer), (char *)(*pointer) + numValues);
2628 ((XdmfArray *)array)->swap(swapVector);
2629 *pointer = new char[swapVector.size()];
2630 for (unsigned int i = 0; i < swapVector.size(); ++i)
2631 {
2632 ((char *) (*pointer))[i] = swapVector[i];
2633 }
2634 break;
2635 }
2636 case XDMF_ARRAY_TYPE_INT16: {
2637 std::vector<short> swapVector((short *)(*pointer), (short *)(*pointer) + numValues);
2638 ((XdmfArray *)array)->swap(swapVector);

Callers

nothing calls this directly

Calls 3

XDMF_ERROR_WRAP_STARTFunction · 0.70
swapMethod · 0.45
sizeMethod · 0.45

Tested by

no test coverage detected