examples_doc_sq.h

/*
// Copyright 2017 Intel Corporation All Rights Reserved.
//
// The source code, information and material ("Material") contained herein is
// owned by Intel Corporation or its suppliers or licensors, and title
// to such Material remains with Intel Corporation or its suppliers or
// licensors. The Material contains proprietary information of Intel
// or its suppliers and licensors. The Material is protected by worldwide
// copyright laws and treaty provisions. No part of the Material may be used,
// copied, reproduced, modified, published, uploaded, posted, transmitted,
// distributed or disclosed in any way without Intel's prior express written
// permission. No license under any patent, copyright or other intellectual
// property rights in the Material is granted to or conferred upon you,
// either expressly, by implication, inducement, estoppel or otherwise.
// Any license under such intellectual property rights must be express and
// approved by Intel in writing.
//
// Unless otherwise agreed by Intel in writing,
// you may not remove or alter this notice or any other notice embedded in
// Materials by Intel or Intel's suppliers or licensors in any way.
//
*/

/*
//   Master include file for Intel(R) Integrated Performance Primitives (Intel(R) IPP)
//        Contains the references to include-files for examples
//
*/

#include "qm_common.h"

#define CHECK_STS(st) \
    if((int)(st) != 0) { \
        QM_PRINTF("Bad status\n"); \
        goto exitLine; \
    }

#define EXIT_MAIN exitLine:

#define CONTROL_RETURN \
    exit_prog(); \
    return 0

void exit_prog()
{
    QM_PRINTF("Exiting...\n");
}

void printf_v8s(char* title, char* format, signed char *arr, int size)
{
    int i;
    QM_PRINTF("%s", title);
    for(i = 0; i < size; i++) {
        QM_PRINTF(format, (int)arr[i]);
    }
    QM_PRINTF("\n");
}

void printf_v16s(char* title, char* format, short *arr, int size)
{
    int i;
    QM_PRINTF("%s", title);
    for(i = 0; i < size; i++) {
        QM_PRINTF(format, (int)arr[i]);
    }
    QM_PRINTF("\n");
}

void printf_v32s(char* title, char* format, int *arr, int size)
{
    int i;
    QM_PRINTF("%s", title);
    for(i = 0; i < size; i++) {
        QM_PRINTF(format, arr[i]);
    }
    QM_PRINTF("\n");
}

void printf_v32f(char* title, float* arr, int size)
{
    float  f;
    int    i, j, t;
    QM_PRINTF("%s", title);
    for(j = 0; j < size; j++) {
        f = arr[j];
        t = (int)f;
        QM_PRINTF(" %d.",t);
        f -= t;
        f = f < 0.f ? -f : f;
        f *= 10.f;
        t = (int)f;
        QM_PRINTF("%d",t);
        f -= (float)t;
        f *= 10.f;
        for (i = 0; i < 5 && f > 0.01f; i++) {
            t = (int)f;
            QM_PRINTF("%d",t);
            f -= (float)t;
            f *= 10.f;
        }
    }
    QM_PRINTF("\n");
}

void printf_vhex64s(char* title, long long *arr, int size)
{
    int i, j, t;
    QM_PRINTF("%s", title);
    for(j = 0; j < size; j++) {
        QM_PRINTF(" 0x");
        for (i = 60; i >= 0; i -= 4) {
            t = arr[j] >> i;
            t &= 0xf;
            QM_PRINTF("%x", t);
        }
    }
    QM_PRINTF("\n");
}
For more complete information about compiler optimizations, see our Optimization Notice.