std1.0.0-beta-7 SafeC docs

Source ml/element.sc

View in the repository

// SafeC Standard Library — tensor element types (see element.h).
#pragma once
#include <std/ml/element.h>
#include <std/ml/float16.h>

namespace std {

void F16::load_n(const &F16 src, &float dst, unsigned long n) {
    unsafe { fp16_to_f32_bulk_n_((const &unsigned short)(const unsigned short*)src, dst, n); }
}

void F16::store_n(const &float src, &F16 dst, unsigned long n) {
    unsafe { f32_to_fp16_bulk_n_(src, (&unsigned short)(unsigned short*)dst, n); }
}

void BF16::load_n(const &BF16 src, &float dst, unsigned long n) {
    unsafe { bf16_to_f32_bulk_n_((const &unsigned short)(const unsigned short*)src, dst, n); }
}

void BF16::store_n(const &float src, &BF16 dst, unsigned long n) {
    unsafe { f32_to_bf16_bulk_n_(src, (&unsigned short)(unsigned short*)dst, n); }
}

} // namespace std