Beispiel #1
0
Datei: 33.c Projekt: Ballaw/MyBin
int64_t Euler_33()
{
    int num, den, prodnum, prodden;
    prodnum = 1;
    prodden = 1;
    for (num = 10; num < 50; num++) {
        for (den = 99; den > num; den--) {
            double a = num;
            double b = den;
            double val = a / b;
            //printf("%f\n",val);
            double g = canceller(num, den);
            //printf("%f\n",g);
            if (val == g) {
                prodnum *= num;
                prodden *= den;
            }
        }
    }
    return (int64_t) (prodden / GCD(prodnum, prodden));
}
NS_IMETHODIMP
nsCrossSiteListenerProxy::OnChannelRedirect(nsIChannel *aOldChannel,
        nsIChannel *aNewChannel,
        PRUint32    aFlags)
{
    nsChannelCanceller canceller(aOldChannel);
    nsresult rv;
    if (!NS_IsInternalSameURIRedirect(aOldChannel, aNewChannel, aFlags)) {
        rv = CheckRequestApproved(aOldChannel, PR_TRUE);
        if (NS_FAILED(rv)) {
            if (nsXMLHttpRequest::sAccessControlCache) {
                nsCOMPtr<nsIURI> oldURI;
                aOldChannel->GetURI(getter_AddRefs(oldURI));
                if (oldURI) {
                    nsXMLHttpRequest::sAccessControlCache->
                    RemoveEntries(oldURI, mRequestingPrincipal);
                }
            }
            return NS_ERROR_DOM_BAD_URI;
        }
    }

    nsCOMPtr<nsIChannelEventSink> outer =
        do_GetInterface(mOuterNotificationCallbacks);
    if (outer) {
        rv = outer->OnChannelRedirect(aOldChannel, aNewChannel, aFlags);
        NS_ENSURE_SUCCESS(rv, rv);
    }

    rv = UpdateChannel(aNewChannel);
    NS_ENSURE_SUCCESS(rv, rv);

    canceller.DontCancel();

    return NS_OK;
}