SPO600 Lab 6
#include <stdio.h> #include <stdbool.h> #include <arm_sve.h> #include "vol.h" int main () { int x ; int ttl = 0 ; // ---- Create in[] and out[] arrays int64_t * in ; int64_t * out ; in = ( int64_t * ) calloc ( SAMPLES , sizeof ( int64_t )); out = ( int64_t * ) calloc ( SAMPLES , sizeof ( int64_t )); // ---- Create dummy samples in in[] vol_createsample ( in , SAMPLES ); // ---- This is the part we're interested in! // ---- Scale the samples from in[], placing results in out[] /*for (x = 0; x < SAMPLES; x++) { out[x]=(int64_t) ((float) (VOLUME/100.0) * (float) in[x]); }*/ svbool_t pg ; // [1] svint64_t svin ; // [1] svfloat64_t svv ; // [1] const float64_t division = ( float )( VOLUME / 100.0 ); // [2] for ( int i = 0 ; i < SAMPLES ; i += svcntd ()) // [3] { pg = svwhilelt_b64 ( i , SAMPLES ); // [4] svin = svld1 ( p