https://github.com/Microsoft/CNTK
Raw File
Tip revision: 10a8ffcf50d7b9225f3236ffcfdc422b2014fb92 authored by microsoft-github-policy-service[bot] on 23 September 2022, 14:06:50 UTC
Microsoft mandatory file (#3870)
Tip revision: 10a8ffc
RNGHandle.h
//
// Copyright (c) Microsoft. All rights reserved.
// Licensed under the MIT license. See LICENSE.md file in the project root for full license information.
//
// RNGHandle.h: An abstraction around a random number generator
//

#pragma once

#include "CommonMatrix.h"
#include <memory>

namespace Microsoft { namespace MSR { namespace CNTK {

class MATH_API RNGHandle
{
public:
    static std::shared_ptr<RNGHandle> Create(DEVICEID_TYPE deviceId, uint64_t seed, uint64_t offset = 0);
    
    virtual ~RNGHandle() {}

    DEVICEID_TYPE DeviceId() const
    {
        return m_deviceId;
    }

protected:
    RNGHandle(DEVICEID_TYPE deviceId)
        : m_deviceId(deviceId)
    {}

private:

    DEVICEID_TYPE m_deviceId;
};

}}}
back to top