https://github.com/Microsoft/CNTK
Raw File
Tip revision: 2bad8cc95abb4b57ec0e4a1b1c308f7c00e8dadb authored by Peyman Manikashani on 22 May 2018, 17:28:10 UTC
Merge branch 'master' of https://github.com/Microsoft/cntk into peykash/initializer
Tip revision: 2bad8cc
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